I am totally lost, some insight would be greatly appreciated. Create a class cal
ID: 3637109 • Letter: I
Question
I am totally lost, some insight would be greatly appreciated.Create a class called Rational for performing arithmetic with fractions.
Write a program to test your class
Use integer variables to represent the private data of the class - the numerator and the denominator. Provide a constructor that enables an object of this class to be initialized when it's declared.
The constructor should contain default values in case no initializers are procided and should store the fraction in reduced form.
Provide public member functions that perform each of the following tasks:
a.Adding two Rational numbers (store in reduced form)
b.Subtracting two Rational numbers (store in reduced form)
c.Multiplying two Rational numbers (store in reduced form)
d.Dividing two Rational numbers (store in reduced form)
e.Printing Rational numbers in the form a/b where a is the numerator and b is the demoninator.
f. Printing Rational numbers in floating-point format.
Explanation / Answer
class Rational { private: int numerator; int denominator; public: Rational(int num = 0, int den = 1); void add(Rational r); void sub(Rational r); void mul(Rational r); void div(Rational r); void print(); void printFloat(); private: void reduce(); }; Rational::Rational(int num, int den) : numerator(num), denominator(den) {} void Rational::add(Rational r) { numerator = numerator + r.numerator; denominator = denomiator + r.denominator; reduce(); } void Rational::sub(Rational r) { numerator = numerator - r.numerator; denominator = denomiator - r.denominator; reduce(); } void Rational::mul(Rational r) { numerator = numerator * r.numerator; denominator = denomiator * r.denominator; reduce(); } void Rational::div(Rational r) { numerator = numerator * r.denominator; denominator = denomiator * r.numerator; reduce(); } void Rational::print() { coutRelated Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.