Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can someone help me add C++ code to below code to reduce fractions to lowest ter

ID: 3769045 • Letter: C

Question

Can someone help me add C++ code to below code to reduce fractions to lowest terms? I know this isn't the best way to code this, but I would like to know how it would be possible with what I have.   

if (fractionChoice == FRACTION_EXIT)
                           break;
             cout <<" Enter numerator of first fraction: " << endl;
                  cin >> num1;
             cout <<" Enter denominator of first fraction: " << endl;
                  cin >> denom1;  
             cout <<" Enter numerator of second fraction: " << endl;
                  cin >> num2;
             cout <<" Enter denominator of second fraction: " << endl;
                  cin >> denom2;
        if (fractionChoice == FRACTION_ADD)
{            numResult = (num1 * denom2) + (num2 * denom1);
             denomResult = denom1 * denom2;
             cout<< num1 << '/' << denom1 << '+' << num2 << '/' << denom2 << '=' << numResult << '/' << denomResult << endl;
}
        if (fractionChoice == FRACTION_SUB)
{            numResult = (num1 * denom2) - (num2 * denom1);
             denomResult = denom1 * denom2;
             cout<< num1 << '/' << denom1 << '-' << num2 << '/' << denom2 << '=' << numResult << '/' << denomResult << endl;
}
        if (fractionChoice == FRACTION_MUL)
{            numResult = num1 * num2;
             denomResult = denom1 * denom2;
             cout<< num1 << '/' << denom1 << '*' << num2 << '/' << denom2 << '=' << numResult << '/' << denomResult << endl;
}
        if (fractionChoice == FRACTION_DIV)
{            numResult = num1 * denom2;
             denomResult = denom1 * num2;
             cout<< num1 << '/' << denom1 << '/' << num2 << '/' << denom2 << '=' << numResult << '/' << denomResult << endl;
}              

Explanation / Answer

#include <iostream>

using namespace std;

class fraction

{

private:

int numerator;

int denominator;

public:

fraction() : numerator(0), denominator(0)

   {

}

fraction(int num, int den=1);

friend fraction operator +(fraction f1, fraction f2);

friend fraction operator-(fraction f1, fraction f2);

friend fraction operator*(fraction f1, fraction f2);

friend fraction operator/(fraction f1, fraction f2);

friend istream& operator >> (istream& s, fraction& e);

friend ostream& operator<< (ostream& out, fraction& f);

};

#include <iostream>

#include <string>

#include "fraction.h"

using namespace std;

fraction operator+(fraction f1, fraction f2)

{

fraction temp;

temp.numerator = f1.numerator * f2.denominator + f1.denominator * f2.numerator;

    temp.denominator = f1.denominator * f2.denominator;

return temp;

}

ostream& operator<<(ostream& out, fraction& f)

{

out << f.numerator << "/" << f.denominator;

return out;

}

istream& operator >> (istream& s, fraction& f)

{

cout << " Please type the numerator: ";

cin >> f.numerator;

cout << "Please type the denominator: ";

cin >> f.denominator;

return s;

}

#include <iostream>

#include <string>

#include "fraction.h"                                                                                                             

using namespace std;

int main()

{

fraction f1;

fraction f2;

fraction answer;

fraction f3;

char symbol = ' ';

string name;

while (true)

{

cout << "A ADD ";

cout << "S SUBTRACT ";

cout << "M MULTIPLY ";

cout << "D DIVIDE ";

cout << "E EXIT ";

cout << " What operation do you want to use? ";

cin >> symbol;

if (symbol == 'e' || symbol == 'E')

exit(0);

switch (symbol)

{

case 'A':

cout << " Please type values for fraction 1 and fraction 2 ";

         cin >> f1 >> f2;

         cout << " Fraction 1 = " << f1 << " Fraction 2 = " << f2;

         f3 = f1 + f2;

         cout << " The sum of F1 and F2 is: " << f3 << " " << endl;

         break;

}

return 0;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote