📄 rational.cpp
字号:
// Rational.cpp: implementation of the Rational class.
//
//////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include "Rational.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Rational::~Rational()
{
}
Rational::Rational(int nparNumerator, int nparDenominator)
{
nNumerator = nparNumerator;
if(0 != nparDenominator)
nDenominator = nparDenominator;
}
Rational Rational::operator +(Rational rNum)
{
Rational result;
result.nNumerator = nNumerator * rNum.nDenominator + nDenominator * rNum.nNumerator;
result.nDenominator = nDenominator * rNum.nDenominator;
result.Simplify();
return result;
}
Rational Rational::operator *(Rational rNum)
{
Rational result;
result.nNumerator = nNumerator * rNum.nNumerator;
result.nDenominator = nDenominator * rNum.nDenominator;
result.Simplify();
return result;
}
int Rational::CommonDivsor(int num1, int num2)
{
int nDivisor = 1;
if(num1<0 && num2<0) nDivisor *= -1;
if(num1<0) num1 *= -1;
if(num2<0) num2 *= -1;
if(num2 > num1)
{
int temp;
temp = num1;
num1 = num2;
num1 = temp;
}
while (num2>0 && num1>0) {
if(num1>num2)
num1 %= num2;
else num2%= num1;
}
nDivisor *= num1>0 ? num1 : num2;
return nDivisor;
}
Rational::Rational(Rational &rNum)
{
*this = rNum;
}
Rational& Rational::operator=(Rational &rNum)
{
nNumerator = rNum.nNumerator;
nDenominator = rNum.nDenominator;
return *this;
}
void Rational::Simplify()
{
int nDivisor = CommonDivsor(nNumerator,nDenominator);
nNumerator /= nDivisor;
nDenominator /= nDivisor;
}
char* Rational::value()
{
//char *s = new char[25];
sprintf(str,"%d/%d",nNumerator,nDenominator);
return str;
}
bool Rational::operator ==(Rational rNum)
{
Rational r1;
r1 = *this;
r1.Simplify();
rNum.Simplify();
if( r1.nDenominator == rNum.nDenominator && r1.nNumerator == rNum.nNumerator )
return 1;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -