Make a Fraction class having member data as the fraction’s numerator and denominator where both are type int. Member functions should accept input from the user in the form 3/5, and output the fraction’s value in the same format. Another member function should add two fraction values. Write a main () function that allows the user to repeatedly input two fractions and then displays their sum. After each operation, ask whether the user wants to continue.
#include<iostream>
using namespace std;
class Fraction {
int numerator, denominator ;
public:
void input();
void addingFraction(Fraction , Fraction );
void output();
};
void Fraction ::input(){
char c;
cin >> numerator >> c >> denominator;
}
void Fraction::addingFraction(Fraction f1, Fraction f2){
numerator = f1.numerator * f2.denominator + f1.denominator * f2.numerator;
denominator = f1.denominator * f2.denominator;
}
void Fraction::output(){
cout << "Sum is: " << numerator << "/" << denominator << endl;
}
int main(){
char c;
Fraction frac1, frac2, frac3;
do{
cout << "Enter first fraction in p/q: ";
frac1.input();
cout << "Enter second fraction in p/q: ";
frac2.input();
frac3.addingFraction(frac1, frac2);
frac3.output();
cout << "Do you want to continue (y/n): ";
cin >> c;
}while(c == 'y' || c == 'Y');
cout << endl;
return 0;
}
Comments
Leave a comment