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

Write a Fraction class that fulfills the following requirements (please look at

ID: 670851 • Letter: W

Question

Write a Fraction class that fulfills the following requirements (please look at the sample main below as a guideline of how you should name your functions!!):

Has a constructor that takes in two parameters - a numerator and a denominator

Has a constructor that takes in one parameter - a whole number

Has a default constructor that sets the numerator and denominator to 1

Has a function that displays the Fraction in the form numerator/denominator

Has a function that reduces the Fraction to simplest form

Has a function that returns the reciprocal as a Fraction object

Has a function that returns the numerator

Has a function that returns the denominator

Has a function that takes in another Fraction, finds the product, and returns a reduced Fraction (hint: the header for this function would be Fraction multiply( Fraction f ) )

You can use the following main to test your class:

int main()

{

Fraction f1;

Fraction f2( 3 );

Fraction f3( 6, 8 );

f3.print(); // Should print 3/4

Fraction f4 = f2.reciprocal();

f4.print(); // Should print 1/3

f1.print(); // Should print 1/1

Fraction f5 = f4.multiply( f3 );

f5.print(); // Should print 1/4

system( "pause" );

return 0;

}

Need help with this in C++. Thank you!

Explanation / Answer

#include<iostream>
#include <cstdlib>
#include<string>
using namespace std;
// Class Declaration
class fraction
{
//Access - Specifier
public:
int denominator,numerator;
fraction(){
numerator=1;
denominator=1;
}
fraction(int n){
numerator =n;
denominator=1;
}
fraction(int n,int d){
numerator=n;
denominator=d;
reduceFraction();
}
fraction reduceFraction(){



int i=0,factor=1;
int min=denominator;
if(min>numerator){
min=numerator;
}
for(i=1;i<=min;i++){
if(denominator%i==0&&numerator%i==0){
factor=i;
}
}
numerator=numerator/factor;
denominator=denominator/factor;



}
void print(){
cout<<numerator<<"/"<<denominator<<endl;
}
fraction multiply(fraction f){
fraction t;
t.numerator=numerator*f.numerator;
t.denominator=denominator*f.denominator;
t.reduceFraction();
return t;
}
fraction reciprocal(){
fraction t;
t.numerator=denominator;
t.denominator=numerator;
return t;
}
};

int main()
{
  
fraction f1;
fraction f2(3);
fraction f3(6,8);
f3.print(); // Should print 3/4
fraction f4 = f2.reciprocal();
f4.print(); // Should print 1/3
f1.print(); // Should print 1/1
fraction f5 = f4.multiply( f3 );
f5.print(); // Should print 1/4
  

cout << " ";
system("pause");
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