//--------------------------------------------------------------------------- #include #include "rationalclass.h" //--------------------------------------------------------------------------- //----Constructors rational::rational(void) { Set(0,1); } //--------------------------------------------------------------------------- rational::rational(int N, int D) { Set(N,D); } //--------------------------------------------------------------------------- //----Set the value. Fails if D is not natural boolean rational::Set(int N, int D) { if (D >=1) { Numerator = N; Denominator = D; return(TRUE); } else return(FALSE); } //--------------------------------------------------------------------------- //----Add rational rational::Add(rational OtherOne) { rational Answer; Answer.Set(Numerator*OtherOne.Denominator + Denominator*OtherOne.Numerator, Denominator * OtherOne.Denominator); return(Answer); } //--------------------------------------------------------------------------- //----Read. Fails if D is not natural boolean rational::Read(void) { int NewNumerator, NewDenominator; cin >> NewNumerator >> NewDenominator; return(Set(NewNumerator,NewDenominator)); } //--------------------------------------------------------------------------- //----Write void rational::Write(void) { cout << Numerator << "/" << Denominator; } //---------------------------------------------------------------------------