Course Solutions Uncategorized (Solved) : Please Debugg Following C Code Include Using Namespace Std Class Fraction Private Int Nume Q30121231 . . . .

(Solved) : Please Debugg Following C Code Include Using Namespace Std Class Fraction Private Int Nume Q30121231 . . . .

 

please debugg the following C++ code.

#include <iostream>

using namespace std;
class Fraction{

private:
    int numerator;
    int denominator;

public:
Fraction(){
int numerator=0;
int denominator=0;
}
void SetNumerator(Fraction*f,int n){
      f->numerator=n;
}
void SetDenominator(Fraction*f,int d){
      f->denominator=d;}
int GetNumerator(Fraction*f){
    return f->numerator;}
int GetDenominator(Fraction*f){
    return f->denominator;}
Fraction AddFraction(Fraction*f1,Fraction*f2);
void SimplifyFraction(Fraction*f);
void PrintFraction(Fraction*f);

};

int main()
{
Fraction f1,f2,   result;
int tmpN , tmpD;
char divideSign;
cout<<“Enter the first fraction”;
cin>>tmpN>>divideSign>>tmpD;
f1.SetNumerator(&f1,tmpN);
f1.SetDenominator(&f1,tmpD);

cout<<“Enter the second fraction”;
cin>>tmpN>>divideSign>>tmpD;
f2.SetNumerator(&f2,tmpN);
f2.SetDenominator(&f2,tmpD);

result=AddFraction(&f1,&f2);
result.SimplifyFraction(&result);
f1.PrintFraction(&f1);   cout<<“+”;
f2.PrintFraction(&f2);   cout<<“=”;
result.PrintFraction(&result); cout<<endl;

cout<<GetNumerator(&f1)<<“/”<<GetDenominator(&f1)<<“+”;
cout<<GetNumerator(&f2)<<“/”<<GetDenominator(&f2)<<“=”;
cout<<GetNumerator(&result)<<“/”<<GetDenominator(&result)<<endl;
}

Fraction AddFraction(Fraction*f1,Fraction*f2)
{
    Fraction f3;
   f3.SetNumerator(&f3,(f1->numerator*f2->denominator+f1->denominator*f2->numerator));
   f3.SetDenominator(&f3,f1->denominator*f2->denominator);
  
return f3;
}

void SimplifyFraction(Fraction*f)
{
    int a,b,c,gcd;
    if(f->denominator<0){
       f->denominator=-f->denominator;
       f->numerator=-f->numerator;
    };
    a=abs(f->numerator);
    b=abs(f->denominator);
    c=a%b;
    while (c){
        a=b;
        b=c;
        c=a%b;}
    gcd=b;
    f->numerator /=gcd;
    f->denominator /=gcd;
}
void PrintFraction(Fraction*f)
{
   cout<<f->numerator<<“/”<<f->denominator;
}

Expert Answer


An answer will be send to you shortly. . . . .

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

(Answered) : Question 1 Risk Management Design Extension Cord Product Identifies Following Risk Mitigat Q32396589(Answered) : Question 1 Risk Management Design Extension Cord Product Identifies Following Risk Mitigat Q32396589

<p><strong>Question 1</strong></p><p>Risk management during the design of an extension cord productidentifies the following risk mitigations are required.</p><p>1. The labelling accompanying the product must include thestatement “for indoor use only”.</p><p>2. The