![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
blackhard |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 151 Пол: Мужской Реальное имя: иван Репутация: ![]() ![]() ![]() |
В общем нужно сделать класс дроби и соответственно операции для них (+,-,*,/) а потом написать прогу которая бы вычисляла выражения в инфиксной форме с этими дробями(выражение читается из файла). Я реализовал вот так
class Fraction {
int Numerator;
int Denominator;
int Integer;
public:
//Fraction(char *s); // "2.3/2"
Fraction(const int i, const int d, const int n );
Fraction() {Numerator = 0; Denominator = 0; Integer = 0; }
int SetFraction(const int n, const int d, const int i) {
Numerator = n;
Denominator = d;
Integer = i;
return 0;
}
int GetFraction(int &n, int &d, int &i){
n = Numerator;
d = Denominator;
i = Integer;
return 0;
}
friend int SumFraction(Fraction &f1,Fraction &f2);
friend int SubFraction(Fraction &f1,Fraction &f2);
friend int MulFraction(Fraction &f1,Fraction &f2);
friend int DivFraction(Fraction &f1,Fraction &f2);
friend char* ShowFraction();
///? int ShowFraction();
};
Также мне нужно отслеживать переполнение при выполнении операций над дробями.Как это сделать?Я знаю токо 1 способ если допустим при сложении складываем 2 больших числа то получится отрицательное ну и т.д....................Есть ли еще какие-нибудь способы?И еще как лучше сделать операции так как есть сейчал?или перегрузить операторы +,-,*.......?сейчас результат помещается в f1. Сообщение отредактировано: blackhard - 27.09.2008 17:25 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:32 |