Форум программистов, компьютерный форум CyberForum.ru

Разработка класса Tdrob - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описание класса под названием Organizer http://www.cyberforum.ru/cpp-beginners/thread141166.html
Описание класса под названием Organizer,который вмещает в себе следующие свойства и методы: -Имя и иницыалы -номер тел. -дата рождения(масив из трех елементов) -ф-ция которая выводит на дисплей дату рождения ---------------------------------------------------- Создание динамического массива объекта Organizer,розмерность которого равна количеству рядков в файле; Чтение с файла in.txt ...
C++ не компилируется люди добрые!и не очень!! итак.имеются два файла-игра и меню игры. из них я создала проект.так понимаю один из main'ов нужно убрать-тот который в игре? в общем после всего проделанного игра не компилируется.ПОМОГИТЕ!!пожалуйста доделать!а то защита курсовой уже подкралась вплотную!!! вот тут и меню, и змейка,и проект. ПОМОГИТЕ!!просто вопию и умоляю о помощи!! пы.сы.там всего одна... http://www.cyberforum.ru/cpp-beginners/thread141162.html
Лаба на файлы,кто решит палтишок на мабилку C++
Написать программу, которая определяет, одинаково ли содержимое символьных файлов 'a.txt' и 'b.txt'.
C++ Не работает printf без \n в цикле for
Вообще задача: выводить процент завершения процесса без перехода на новую строку и без мигания курсора. В одной функции в цикле while такой вариант выводит: printf("\rREAD STRUCT: %-30s \t %.2f\tMB",Name,float32(nTotalByte)/1024/1024); Но при этом мигающий прямоугольничик в консоле постоянно прыгает по строке (Как этого избежать?) Другая проблема: в другой функции пишу цикл:
C++ КурсАч). HELP!!! http://www.cyberforum.ru/cpp-beginners/thread141130.html
Из данного на плоскости множества точек выбрать три различные точки так, чтобы разность между площадью круга, ограниченного окружностью, проходящей через эти три точки и площадью треугольника с вершинами в этих точках была минимальной. Как это отобраЗить на С???
C++ Не работает gets() Не работает ф-ция gets(), просто игнорируется, при трассировке тоже тупо перепрыгивает на следующюю строку. Код и собственно проблема здесь Я вообще не могу понять почему так происходит%-) подробнее

Показать сообщение отдельно
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 404
12.08.2010, 18:50     Разработка класса Tdrob
Осмелюсь предложить свой вариант решения вопроса
Мне он кажется более простым
Условие задачи:
Создать класс fraction для работы с дробями с конструкторами.Класс должен содержать методы для ввода и вывода данных
объектов, а также для выполнения арифметических операций. Кроме того, необходимо включить в состав
класса функцию, приводящую дробь к несократимому виду. Функция должна находить наибольший общий делитель
числителя и знаменателя и делить числитель и знаменатель на это значение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include<iostream>
using namespace std;
class fraction
{
private:
    int ch;
    int zn;
public:
    fraction():ch(0),zn(1){};
    fraction(int a,int b):ch(a){if(b!=0)zn=b;else ch=0;};
    ~fraction(){};
    void socrashenie();
    void print();
    void input(int i);
    void suma(fraction f1,fraction f2);
    void minus(fraction f1,fraction f2);
    void umn(fraction f1,fraction f2);
    void dele(fraction f1,fraction f2);
};
int main()
{
    setlocale(LC_ALL,"Russian");
    fraction f1,f2,f3;
    char s;
    cout << "Введите знак операции(=-/*): ";
    cin >> s;
    f1.input(1);
    f2.input(2);
    if(s=='+')f3.suma(f1,f2);
    if(s=='-')f3.minus(f1,f2);
    if(s=='*')f3.umn(f1,f2);
    if(s=='/')f3.dele(f1,f2);
    f3.socrashenie();
    f3.print();
    return 0;
}
void fraction::socrashenie()
{
    int n,s=-1;
    (ch<zn)?n=ch:n=zn;
    for(int i=2;i<=n;i++)
    {
        if((ch%i==0)&&(zn%i==0))s=i;
    }
    if(s!=-1)
    {
    ch/=s;
    zn/=s;
    }
}
void fraction::print()
{
    cout << "Дробь: " << ch << "/" << zn << endl;
}
void fraction::input(int i)
{
    cout << "Введите " << i << "-ю дробь(zn/ch): ";
    char s;
    cin >> ch >> s >> zn;
}
void fraction::suma(fraction f1,fraction f2)
{
    ch=(f1.ch*f2.zn+f1.zn*f2.ch);
    zn=(f1.zn*f2.zn);
}
void fraction::minus(fraction f1,fraction f2)
{
    ch=(f1.ch*f2.zn-f1.zn*f2.ch);
    zn=(f1.zn*f2.zn);
}
void fraction::umn(fraction f1,fraction f2)
{
    ch=(f1.ch*f2.ch);
    zn=(f1.zn*f2.zn);
}
void fraction::dele(fraction f1,fraction f2)
{
    ch=(f1.ch*f2.zn);
    zn=(f1.zn*f2.ch);
}
 
Текущее время: 11:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru