Только начал изучать C++ и задали вот такое задание:
Напишите программу, которая позволяет совершать математические действия (сложение, вычитание, умножение, деление, сравнение) с рациональными числами.
Создайте класс для рациональных чисел.Данные класса - рациональные числа ( числитель и знаменатель). В классе должны быть такие методы: сложение, вычитание, умножение, деление, сравнение (больше, меньше, равно), отрицательное (умножение на -1). Данные методы должны возвращать рациональные числа.
Операция сложения a + b при помощи этого класса будет выглядеть так: a.sloz(b);
Так же в классе обязательно должны быть методы: ввод и вывод.
В общем, нужно написать программу, вида:
Ввожу первое рационально число (допустим, 3/4)
Ввожу второе рациональное число(допустим 16/33)
Выводится результат сложения, вычитания, умножения, деления, сравнения и умножения на -1 введённых рациональных чисел.
С целыми числами никаких проблем нет абсолютно, довольно быстро написал консольную программу,но нужно,чтоб было с рациональными числами. Потому очень прошу помочь.
Вот то,что я написал с целыми числами:
Код: Выделить всё
#include<iostream>
using namespace std;
class MyCalc
{
private:
int a;
int b;
public:
void vvod_vivod()
{
cout << "Введите первое число: ";
cin >> a;
cout << " " << endl;
cout << "Введите второе число: ";
cin >> b;
cout << " " << endl;
}
void sloz()
{
cout << "Сложение " << "(" << a << " + " << b << ")" << " = " << a + b << endl;
}
void vicit()
{
cout << "Вычитание " << "(" << a << " - " << b << ")" << " = " << a - b << endl;
}
void umnoz()
{
cout << "Умножение " << "(" << a << " * " << b << ")" << " = " << a * b << endl;
}
void delen()
{
cout << "Деление " << "(" << a << " / " << b << ")" << " = " << a / b << endl;
}
void sravn()
{
if (a==b) cout << a << " равно "<< b << endl;
if (a<b) cout << a << " меньше "<< b << endl;
if (a>b) cout << a << " больше "<< b << endl;
}
void otric()
{
cout << "Отрицательно: " << "((" << a << " * " << b << ")" << " * -1)"<< " = " << (a * b) * -1 << endl;
}
};
int main()
{
setlocale(0, "");
cout << "Калькулятор целых чисел.\n" << endl;
MyCalc c1;
c1.vvod_vivod();
c1.sloz();
c1.vicit();
c1.umnoz();
c1.delen();
c1.sravn();
c1.otric();
cout << " " << endl;
system("pause");
return 0;
}