• 100% Satisfaction Guarantee
LogicPro, Engineer
Category: Homework
Satisfied Customers: 12935
Experience:  Expert in Java C++ C C# VB Javascript Design SQL HTML
29751445
LogicPro is online now

# for logicpro only Create a class called Rational for performing

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 provided and should store

the fraction in reduced form. For example, the fraction 2/4

would be stored in the object as 1 in the numerator and 2 in the denominator. Provide public

member functions that perform each of the following tasks:

a) Adding two Rational numbers. The result should be stored in reduced form.

b) Subtracting two Rational numbers. The result should be stored in reduced form.

c) Multiplying two Rational numbers. The result should be stored in reduced form.

d) Dividing two Rational numbers. The result should be stored in reduced form.

e) Printing Rational numbers in the form a/b, where a is the numerator and b is the denominator.

f) Printing Rational numbers in floating-point format.

Hi,
Welcome here.

Customer: replied 3 years ago.

The deadline is tonight by midnight

ok. I will review and reply ASAP
Customer: replied 3 years ago.

I have this header file if it helps any

#ifndef Rational_H

#define Rational_H

#include <iostream>

using namespace std;

class Rational

{

public:

Rational(int = 0,int =0);

void subtraction(Rational r);

void multiplication(Rational r);

void division(Rational r);

void printRational();

void printRationalAsDouble();

void Reduction();

private:

int numerator;

int denominator;

};

#endif

It will help. Thanks
Customer: replied 3 years ago.

and also this driver file

#include <iostream>

#include <iomanip>

#include "Rational.h"

using namespace std;

Rational::Rational(int num, int den)

{

numerator = num;

denominator = den;

}

{

numerator = numerator + r.numerator;

denominator = denominator + r.denominator;

Reduction();

}

void Rational::subtraction(Rational r)

{

numerator = numerator - r.numerator;

denominator = denominator - r.denominator;

Reduction();

}

void Rational::multiplication(Rational r)

{

numerator = numerator * r.numerator;

denominator = denominator * r.denominator;

Reduction();

}

void Rational::division(Rational r)

{

numerator = numerator * r.denominator;

denominator = denominator * r.numerator;

Reduction();

}

void Rational::printRational()

{

cout << numerator << "/" << denominator;

}

void Rational::printRationalAsDouble()

{

cout << numerator / static_cast<float>( denominator );

}

void Rational::Reduction()

{

int largest;

largest = numerator > denominator ? numerator : denominator;

int gcd = 0;

for ( int loop = 2; loop <= largest; loop++ )

if ( numerator % loop == 0 && denominator % loop == 0 )

gcd = loop;

if (gcd != 0)

{

numerator /= gcd;

denominator /= gcd;

}

}

Thanks. Plase check back in few hours
Customer: replied 3 years ago.

You need to spend \$3 to view this post. Add Funds to your account and buy credits.
Hi again,
Just following up with you to see how everything is going and if you have more questions for me.
You can ask me again using "For LogicPro only" at the start of your questions like you do to get instant answers.
It will ensure that question is for me.