![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
blackhard |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 151 Пол: Мужской Реальное имя: иван Репутация: ![]() ![]() ![]() |
В общем нужно сделать класс дроби и соответственно операции для них (+,-,*,/) а потом написать прогу которая бы вычисляла выражения в инфиксной форме с этими дробями(выражение читается из файла). Я реализовал вот так
class Fraction {Также мне нужно отслеживать переполнение при выполнении операций над дробями.Как это сделать?Я знаю токо 1 способ если допустим при сложении складываем 2 больших числа то получится отрицательное ну и т.д....................Есть ли еще какие-нибудь способы? И еще как лучше сделать операции так как есть сейчал?или перегрузить операторы +,-,*.......?сейчас результат помещается в f1. Сообщение отредактировано: blackhard - 27.09.2008 17:25 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Также мне нужно отслеживать переполнение при выполнении операций над дробями.Как это сделать? У С++ проблема с отслеживанием переполнений (чтобы можно было использовать механизм исключений, например). "Обходной путь" показан здесь:Implemented integer overflow class Цитата И еще как лучше сделать операции так как есть сейчал?или перегрузить операторы +,-,*.......? Перегрузка операторов всегда предпочтительнее, поскольку ясно видно, что именно программа делает, и выражение любой сложности пишется в одну строку. Попробуй, например, со своими функциями, записать:Fraction t, a, b, c; // <--- занесешь значения в переменные. А между тем с перегруженными операциями это читается очень просто... И приоритеты операций сохраняются... |
blackhard |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 151 Пол: Мужской Реальное имя: иван Репутация: ![]() ![]() ![]() |
Хочу перегрузить для вывода дроби на экран операцию << и не выходит
![]() что туда передавать и что возвращать и что делать внутри? Я пробовал примено так
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
class Fraction { Сообщение отредактировано: volvo - 23.10.2008 15:59 |
blackhard |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 151 Пол: Мужской Реальное имя: иван Репутация: ![]() ![]() ![]() |
class Fraction { ostream& operator << (ostream& os, Fraction& f)вот то что мне было нужно! спасибо! |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:54 |