Need Help with Rational Program

This is a program that I am currently working on. I was able to successfully complete the 1st portion of the project however, I am struggling on the second part. below is my code for the second part. Please read the entire question below. Thanks

Create a class called Rational for performing arithmetic with fractions.
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 is 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 the object 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 by the function called addition. The result should be in reduced form.
b. Subtracting two Rational numbers by the function called subtraction. The result should be in reduced form.
c. Multiplying two Rational numbers by the function called multiplication. The result should be in reduced form.
d. Dividing two Rational numbers by the function called division. The result should be 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.


2. Write a main function to do the following:
a. Ask user to enter 2 fractions (4 integer number). Your program should do the error checking for denominator.
b. Continually display the menu for calculations until exit. Display the result for selected calculation.


#include <iostream>
using namespace std;

class Fraction
{
private:
int numerator;
int denominator;
public:
Fraction()
{
numerator = 0;
denominator = 0;
}

public:
void set(int n, int d) {n = numerator; d = denominator;};
int getNumerator() {return numerator;};
int getDenominator() {return denominator;};
Fraction addTo(Fraction &frac2, Fraction& frac3);
int print() { cout << numerator << "/" << denominator;};
};

//Adds the value of the Fraction with the attached "addTo" method with the value of a second specified Fraction and assigns the result to a third specified Fraction.

Fraction Fraction::addTo(Fraction& frac2, Fraction& addedTo)
{
addedTo.numerator = (numerator * frac2.denominator) + (denominator * frac2.numerator);
addedTo.denominator = (denominator * frac2.denominator);
return addedTo;
}

int main()
{
Fraction frac1, frac2, frac3;
int n1, n2, d1, d2;

//Prompts the user for data and then assigns it to the correct variables.
//Prompts the user for data and then assigns it to the correct variables.

cout << "Enter First Numerator: ";
cin >> n1;
frac1.numerator = n1;

cout << "Enter First Denominator: ";
cin >> d1;
frac1.denominator = d1;

cout << "Enter Second Numerator: ";
cin >> n2;
frac2.numerator = n2;

cout << "Enter Second Denominator: ";
cin >> d2;
frac2.denominator = d2;

frac1.addTo(frac2, frac3);

//Formats output.
frac1.print();
std::cout << " + ";
frac2.print();
std::cout << " = ";
frac3.print();

return 0;
} // end main
Last edited on
Topic archived. No new replies allowed.