📄 rational_number.cpp
字号:
//程序:rational_number.cpp
//功能:有理数类rational_number的类实现
#include"rational_number.hpp"
#include<assert.h>
#include<iostream.h>
//最大公约数函数
int gcd(int m,int n)
{
int r;
if(m==0&&n==0)return 0;
if(m<0)m=-m;
if(n<0)n=-n;
if(m==0)return n;
if(n==0)return m;
r=m%n;
while(r!=0){
m=n;
n=r;
r=m%n;}
return n;
}
rational_number::rational_number()
{
numerator=0;
denominator=1;
}
rational_number::rational_number(int x,int y)
{
numerator=x;
denominator=y;
}
rational_number::rational_number(const rational_number& other)
{
numerator=other.numerator;
denominator=other.denominator;
}
//正规化函数
void rational_number::normalize()
{
assert(denominator!=0);
int d=gcd(numerator,denominator);
numerator=numerator/d;
denominator=denominator/d;
}
void rational_number::print()
{
rational_number::normalize();
cout<<numerator<<"/"<<denominator<<"\n";
return;
}
rational_number rational_number::operator +(const rational_number& other)
{
rational_number temp;
if(denominator==other.denominator)
{temp.denominator=denominator;
temp.numerator=numerator+other.numerator;
return temp;}
else
{temp.denominator=denominator*other.denominator;
temp.numerator=numerator*other.denominator+other.numerator*denominator;
return temp;}
}
rational_number rational_number::operator -(const rational_number& other)
{
rational_number temp;
if(denominator==other.denominator)
{temp.denominator=denominator;
temp.numerator=numerator-other.numerator;
return temp;}
else
{temp.denominator=denominator*other.denominator;
temp.numerator=numerator*other.denominator-other.numerator*denominator;
return temp;}
}
rational_number rational_number::operator *(const rational_number& other)
{
rational_number temp;
temp.numerator=numerator*other.numerator;
temp.denominator=denominator*other.denominator;
return temp;
}
rational_number rational_number::operator /(const rational_number& other)
{
rational_number temp;
temp.numerator=numerator*other.denominator;
temp.denominator=denominator*other.numerator;
return temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -