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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.91
taposhka
0 / 0 / 0
Регистрация: 05.06.2010
Сообщений: 7
05.06.2010, 12:33     Разработка класса Tdrob #1
Здравствуйте, уважаемые форумчане!
Помогите с С++. Необходимо разработать класс Tdrob в короткий срок. Но с языком С++ я почти не дружу, поэтому нужна БОЛЬШая помощь! Очень прошу помочь! Буду очень благодарна =)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.08.2010, 15:05     Разработка класса Tdrob #21
Цитата Сообщение от Lavroff Посмотреть сообщение
для Linux вроде бы
system("clear");
А вот для буилдеров-шмуилдеров вроде бы
clrscr();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
12.08.2010, 16:49
  #22

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
И ещё: по уму надо бы сделать класс исключения и вызывать его, если где-нибудь знаменатель нулём окажется...
А зачем? Можно же просто вызвать std::exception или какой-нибудь из потомков.

easybudda
12.08.2010, 16:59
  #23

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
А зачем? Можно же просто вызвать std::exception или какой-нибудь из потомков.
Ну я, когда это писал, ещё не в курсе был про std::exception

LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
12.08.2010, 18:50     Разработка класса Tdrob #24
Осмелюсь предложить свой вариант решения вопроса
Мне он кажется более простым
Условие задачи:
Создать класс 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);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2010, 18:59     Разработка класса Tdrob
Еще ссылки по теме:

C++ Разработка класса контейнера
C++ Разработка класса Time
Разработка шаблонного класса-контейнера C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nameless One
12.08.2010, 18:59     Разработка класса Tdrob
  #25

Не по теме:

LineStown, а перегружать операторы религия не позволяте ?

Yandex
Объявления
12.08.2010, 18:59     Разработка класса Tdrob
Ответ Создать тему
Опции темы

Текущее время: 15:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru