void Rational::output(ostream& outs) { Rational temp; int divisor; if(denominator==0) { cout << "Error illegal form for denominator input, division by zero is not possible.\n"; exit(1); } if(numerator==0) { cout << "0 \n"; } else { temp.numerator=numerator; temp.denominator=denominator; divisor=temp.gcd(); temp.numerator = abs(numerator)/divisor; temp.denominator = abs(denominator)/divisor; if((numerator<0 && denominator<0) || (numerator>0 && denominator>0) ) outs << temp.numerator << "/" << temp.denominator<<"\n"; else if((numerator<0 && denominator>0) || (numerator>0 && denominator<0) ) outs << "-" << temp.numerator << "/" << temp.denominator<<"\n"; } }
Rational division(Rational& number1, Rational& number2) { Rational temp; int divisor; temp.numerator=number1.numerator*number2.denominator; temp.denominator=number2.numerator*number1.denominator; divisor=temp.gcd(); temp.numerator=temp.numerator/divisor; temp.denominator=temp.denominator/divisor; return temp; }
Rational subtract(Rational& number1, Rational& number2) { Rational temp; int divisor; temp.numerator=(number1.numerator*number2.denominator)-(number2.numerator*number1.denominator); temp.denominator=number1.denominator*number2.denominator; divisor=temp.gcd(); temp.numerator=temp.numerator/divisor; temp.denominator=temp.denominator/divisor; return temp; }