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

I have to make a c++ assignement that when you input two fractions you have to o

ID: 3813449 • Letter: I

Question

I have to make a c++ assignement that when you input two fractions you have to output the reduce form of the two fractions, the answer in fraction when you add , subtract , divide or muliply the fraction , and also display the answer in float format. I I cant display my answer in float format , I have completed everything else except this part. H

I have one hour and 30 min to turn it in !!! Help!

Here is my code:

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

/*
* File: main.cpp
* Author: Kikin
*
* Created on April 6, 2017, 9:38 AM
*/
#include
#include
#include

using namespace std;

/*
*
*/
class Rational{
public:
//initializes the rational number to 0
Rational();
//initializes as whole number
Rational(int wholeNumber);
//initializes the rational number to be a/b if b is not 0;
Rational(int a, int b);
  
friend const Rational operator +(const Rational& fraction1, const Rational& fraction2);
friend const Rational operator -(const Rational& fraction1, const Rational& fraction2);
friend const Rational operator *(const Rational& fraction1, const Rational& fraction2);
friend const Rational operator /(const Rational& fraction1, const Rational& fraction2);
friend ostream& operator <<(ostream& outputStream, const Rational& fraction);
friend istream& operator >>(istream& inputStream, Rational& fraction);
  
private:
int numerator, denominator;

};

int gcd(int u, int v);
double sum(double x, double y);
void fraction_Rule(int& num, int&den);

  
int main() {
char runagain = 'y';
do{
Rational firstFraction, secondFraction;
  
cout << "Enter a rational number(a/b): ";
cin >> firstFraction;
cout << "(Just checking, you entered: " << firstFraction << " -- reduced form)" <   
cout << "Enter a rational number(a/b): ";
cin >> secondFraction;
cout << "(Just checking, you entered: " << secondFraction << " -- reduced form)" < cout << "Results of Arithmetic operations: "<< endl;
  
Rational sum = firstFraction + secondFraction;
cout << firstFraction << " + " << secondFraction << " equals " << sum << endl;
  
Rational subtraction = firstFraction - secondFraction;
cout << firstFraction << " - " << secondFraction << " equals " << subtraction << endl;
  
Rational multiply = firstFraction * secondFraction;
cout << firstFraction << " * " << secondFraction << " equals " << multiply << endl;
  
Rational divide = firstFraction / secondFraction;
cout << firstFraction << " / " << secondFraction << " equals " << divide << endl;
  
cout<<"Do you which to run again(y/n)?";
cin >> runagain;
}while(runagain == 'y');
cout << " Programmer: Francisco Gallego - written for the class CISC 192 - C++ Programming.";
exit(0);   
return 0;
}

istream& operator >> (istream& inputStream, Rational& fraction ){
char fractsign;
inputStream >>fraction.numerator >> fractsign >> fraction.denominator;
if(fractsign != '/'){
cout << "Incorrect format!!!";
}
fraction_Rule(fraction.numerator, fraction.denominator);
return inputStream;
}

ostream& operator << (ostream& outputStream, const Rational& fraction ){
outputStream < u = abs(u);
v = abs(v);
if(v==0) return u;
//reduction step
return gcd(v,u%v);
}

Rational::Rational(int a, int b){
numerator = a;
denominator = b;
//verify whether the denominator is zero
if(denominator == 0){
cout << "Denominator should not be zero"<< endl;
exit(1);
}
}

Rational :: Rational(int wholeNumber){
numerator = wholeNumber;
denominator = 1;
}

Rational ::Rational(){
numerator = 0;
denominator = 1;
}

Explanation / Answer

#include
#include
#include

using namespace std;

class Rational{
public:
//initializes the rational number to 0
Rational();
//initializes as whole number
Rational(int wholeNumber);
//initializes the rational number to be a/b if b is not 0;
Rational(int a, int b);
  
friend const Rational operator +(const Rational& fraction1, const Rational& fraction2);
friend const Rational operator -(const Rational& fraction1, const Rational& fraction2);
friend const Rational operator *(const Rational& fraction1, const Rational& fraction2);
friend const Rational operator /(const Rational& fraction1, const Rational& fraction2);
friend ostream& operator <<(ostream& outputStream, const Rational& fraction);
friend istream& operator >>(istream& inputStream, Rational& fraction);
  
private:
int numerator, denominator;

};

int gcd(int u, int v);
double sum(double x, double y);
void fraction_Rule(int& num, int&den);

  
int main() {
char runagain = 'y';
do{
Rational firstFraction, secondFraction;
  
cout << "Enter a rational number(a/b): ";
cin >> firstFraction;
cout << "(Just checking, you entered: " << firstFraction << " -- reduced form)" <   
cout << "Enter a rational number(a/b): ";
cin >> secondFraction;
cout << "(Just checking, you entered: " << secondFraction << " -- reduced form)" < cout << "Results of Arithmetic operations: "<< endl;
  
Rational sum = firstFraction + secondFraction;
cout << firstFraction << " + " << secondFraction << " equals " << sum << endl;
  
Rational subtraction = firstFraction - secondFraction;
cout << firstFraction << " - " << secondFraction << " equals " << subtraction << endl;
  
Rational multiply = firstFraction * secondFraction;
cout << firstFraction << " * " << secondFraction << " equals " << multiply << endl;
  
Rational divide = firstFraction / secondFraction;
cout << firstFraction << " / " << secondFraction << " equals " << divide << endl;
  
cout<<"Do you which to run again(y/n)?";
cin >> runagain;
}while(runagain == 'y');
cout << " Programmer: Francisco Gallego - written for the class CISC 192 - C++ Programming.";
exit(0);   
return 0;
}

istream& operator >> (istream& inputStream, Rational& fraction ){
char fractsign;
inputStream >>fraction.numerator >> fractsign >> fraction.denominator;
if(fractsign != '/'){
cout << "Incorrect format!!!";
}
fraction_Rule(fraction.numerator, fraction.denominator);
return inputStream;
}

ostream& operator << (ostream& outputStream, const Rational& fraction ){
outputStream < u = abs(u);
v = abs(v);
if(v==0) return u;
//reduction step
return gcd(v,u%v);
}

Rational::Rational(int a, int b){
numerator = a;
denominator = b;
//verify whether the denominator is zero
if(denominator == 0){
cout << "Denominator should not be zero"<< endl;
exit(1);
}
}