We have everything done except we do not know how to do the adding of rational numbers. can you help?
Code:#include "Rational.h" #include "math.h" #include <iostream> using namespace std; Rational::Rational() { numerator = denominator = 1; } Rational::Rational(int N, int D) { numerator = N; denominator = D; } int Rational::getN() { return numerator; } int Rational::getD() { return denominator; } int Rational::multiply(Rational rational2) { int finalN =getN()*rational2.getN(); int finalD =getD()*rational2.getD(); Rational rational(finalN,finalD); simplify(rational); } int Rational::divide(Rational rational2) { int finalN =getN()*rational2.getD(); int finalD =getD()*rational2.getN(); Rational rational(finalN,finalD); simplify(rational); } int Rational::add(Rational rational2) { int tempN = getN()*rational2.getD(); int tempD = getD()*rational2.getN(); int finalN = tempN*tempD int finalD = Rational rational(finalN,finalD); simplify(rational); } void Rational::simplify(Rational rational) { int x=rational.getN(); int y=rational.getD(); int z; while (y!=0) { z=x%y; x=y; y=z; } int finalN=rational.getN()/x; int finalD=rational.getD()/x; Rational rationalnew (finalN,finalD); cout <<finalN<<"/"<<finalD<<endl; } bool Rational::compare(Rational rational2) { float initial=(float)getN()/getD(); float final= (float)rational2.getN()/rational2.getD(); if (initial==final) return true; else return false; }



LinkBack URL
About LinkBacks




.