IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> class дроби, Си++
blackhard
сообщение 27.09.2008 17:20
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

Репутация: -  0  +


В общем нужно сделать класс дроби и соответственно операции для них (+,-,*,/) а потом написать прогу которая бы вычисляла выражения в инфиксной форме с этими дробями(выражение читается из файла). Я реализовал вот так
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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 20.07.2025 2:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"