How JustAnswer Works:

  • Ask an Expert
    Experts are full of valuable knowledge and are ready to help with any question. Credentials confirmed by a Fortune 500 verification firm.
  • Get a Professional Answer
    Via email, text message, or notification as you wait on our site.
    Ask follow up questions if you need to.
  • 100% Satisfaction Guarantee
    Rate the answer you receive.

Ask LogicPro Your Own Question

LogicPro
LogicPro, Engineer
Category: Homework
Satisfied Customers: 12500
Experience:  Expert in Java C++ C C# VB Javascript Design SQL HTML
29751445
Type Your Homework Question Here...
LogicPro is online now
A new question is answered every 9 seconds

for logicpro only Create a class called Rational for performing

This answer was rated:

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.

What is the deadline?
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 addition(Rational r);


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;


}


void Rational::addition(Rational r)


{


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.

Logicpro any updates?

Please wait for 10 minutes.
THIS ANSWER IS LOCKED!

You need to spend $3 to view this post. Add Funds to your account and buy credits.
LogicPro and 5 other Homework Specialists are ready to help you
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.
Please bookmark my profile page:
http://www.justanswer.com/homework/expert-logicpro/
so you can come back and ask me a question anytime.
If you need any additional information on this answer, please don't hesitate to ask by clicking on 'Reply to Expert', and I will reply as soon as possible.
I hope you found the information in my answer helpful, and if so, please let me know, here. Thank you!
Thanks very much for using Just Answer!
Best wishes
LogicPro