📄 franction.h
字号:
class franction
{
int nuneration; //分子
int denominator; //分母
public:
franction(int,int); //初始化
void yuefen(int&,int&); //约分
void print(franction);
franction operator + (franction b); //运算
franction operator - (franction b);
friend franction operator / (franction a,franction b);
friend franction operator * (franction a,franction b);
};
void franction::print(franction a)
{
cout<<a.nuneration<<" / "<<a.denominator<<endl;
}
franction::franction(int a,int b)
{
if(a*b==0)
{
cout<<"exit error!"<<endl;
a=1;
b=1;
}
yuefen(a,b);
nuneration=a;
denominator=b;
}
void franction::yuefen(int& a,int& b)
{
int i=1,j=1;
while((j<=a)&&(j<=b))
{
if((a%j==0)&&(b%j==0))
i=j;
j++;
}
a=a/i;
b=b/i;
}
franction franction::operator + (franction b)
{
this->nuneration=(this->nuneration)*(b.denominator)+(b.nuneration*this->denominator);
this->denominator=(this->denominator)*(b.denominator);
yuefen(this->nuneration,this->denominator);
return *this;
}
franction franction::operator - (franction b)
{
this->nuneration=(this->nuneration*b.denominator)-(b.nuneration*this->denominator);
this->denominator=(this->denominator)*(b.denominator);
yuefen(this->nuneration,this->denominator);
return *this;
}
franction operator / (franction a,franction b)
{
a.nuneration=(a.nuneration)*(b.denominator);
a.denominator=(a.denominator)*(b.nuneration);
a.yuefen(a.nuneration,a.denominator);
a.print(a);
return a;
}
franction operator * (franction a,franction b)
{
a.nuneration=(a.nuneration)*(a.nuneration);
a.denominator=(a.denominator)*(b.denominator);
a.yuefen(a.nuneration,a.denominator);
a.print(a);
return a;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -