什么地方可以充q币:定义分数类,使用具有完善的操作。要求:1.分数的分子和分母用int型;2.分数的运算结果应为最简分数。

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 10:30:59
这是C++题目!!!!帮帮忙啊!

你不会介意我用C#吧
class fen
{
private int fenmu;
public int Fenmu//这是一个属性
{get{return fenmu;}set{if(value!=0)fenmu=value;}
}//分母
public int Fenzi;//分子
public void Jia(int count)
{
Fenzi+=fenmu*count;
}
public void Jian(int count)
{
Fenzi-=fenmu*count;
}
public void Cheng(int count)
{
Fenzi*=count;
}
public void Chu(int count)
{
Fenzi/=count;
}
}
本来还打算用operater进行操作数覆写的,但是你要的是C++,就算啦,尽量像一点吧~呵呵

又发现自己没有实现约分...其实约分也很简单啊,既然是int,那就没必要用分解因数啦,因为int最大才65536嘛,这么小,电脑花的时间少得够吓人啦

int fenzi,fenmu;
void Yue1()
{
int smaller,i,boo;
if(fenzi==0)return;
if(fenzi==fenmu){fenzi=1;fenmu=1;return;}
while(fenzi%2==0&fenmu%2==0){fenzi/=2;fenmu/=2;}
smaller=fenzi<fenmu?fenzi:fenmu;
for(i=smaller;i>2;i--)
{
if(fenzi%i==0&fenmu%i==0){fenmu/=i;fenzi/=i;return;}
}