错误改不过来,疯了,c++!!!

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:13:22
#include<iostream>
class zrf_Ration
{
private:
int fz,fm;
void yue()
{
int max;
if(fm<0)
{
fm=-fm;
fz=-fz;
}
if(fz==0)
fm=1;
else if(fm==0)
{
fz=0;
std::cout<<"ERROR"<<endl;
}
else
{
int tfz,tfm;
tfz=fz<0? -fz:fz;
tfm=fm;
max=tfz<tfm? fz:fm;
while((tfz%max!=0||(tfm%max!=0))
max--;
fz=fz/max;
fm=fm/max;
}
}
public:
zrf_Ration(int fz=1,int fm=1)
{
this->fz=fz;
this->fm=fm;
yue();
}
int numerator()
{
return fz;
}
int denomintar()
{
return fm;
}
friend zrf_Ration operator+(zrf_Ration & zrf1,zrf_Ration & zrf2)
{
int fzz,fmm;
fzz=zrf1.fz*zrf2.fm+zrf1.fm*zrf2.fz;
fmm=zrf1.fm*zrf2.fm;
return zrf_Ration(

#include<iostream>

class zrf_Ration
{
private:
int fz,fm;
void yue();
public:
zrf_Ration(int fz=1,int fm=1)
{
this->fz=fz;
this->fm=fm;
yue();
}
int numerator()
{
return fz;
}
int denomintar()
{
return fm;
}
friend zrf_Ration operator+(zrf_Ration & zrf1,zrf_Ration & zrf2)
{
int fzz,fmm;
fzz=zrf1.fz*zrf2.fm+zrf1.fm*zrf2.fz;
fmm=zrf1.fm*zrf2.fm;
return zrf_Ration(fzz,fmm);
}

friend zrf_Ration operator-(zrf_Ration & zrf1,zrf_Ration & zrf2)
{
int fzz,fmm;
fzz=zrf1.fz*zrf2.fm-zrf1.fm*zrf2.fz;
fmm=zrf1.fm*zrf2.fm;
return zrf_Ration(fzz,fmm);
}
friend zrf_Ration operator*(zrf_Ration & zrf1,zrf_Ration & zrf2)
{
int fzz,fmm;
fzz=zrf1.fz*zrf2.fz;
fmm=zrf1.fm*zrf2.fm;
return zrf_Ration(fzz,fmm);
}
frie