示例#1
0
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";
	}
 }
示例#2
0
 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;
  }
示例#3
0
 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;
  }