資源簡介
運用C++函數重載等方法編寫的簡單計算器,實現所有有理數計算。將C++的基本內容涵蓋了,適合初學者復習總結之用

代碼片段和文件信息
#include“Fenshu.h“
//計算分子分母的最大公約數,并返回最大公約數
int?Fenshu::gcd(int?fziint?fmu)
{
int?yushu;
yushu=fzi if(yushu!=fmu)
{
fzi=fmu;
fmu=yushu;
}
while(yushu)
{
yushu=fzi%fmu;
fzi=fmu;
fmu=yushu;
}
return?fzi;
}
//將分數化作最簡分數
void?FsJianHua(Fenshu&?fenshu)
{
int?gcd=abs(fenshu.gcd(fenshu.fenzifenshu.fenmu));
if(gcd!=1)
{
fenshu.fenzi=fenshu.fenzi/gcd;
????fenshu.fenmu=fenshu.fenmu/gcd;
}
}
//重載運算符<<以假分數形式輸出
ostream&operator<<(ostream&?streamFenshu&?fenshu)
{
FsJianHua(fenshu);
if(fenshu.fenmu!=1)
stream< else
stream< return?stream;
}
//重載運算符>>
istream&operator>>(istream&?streamFenshu&?fenshu)
{
cout<<“輸入整數或分數(z/f):“;
char?delt;
cin>>delt;
if(delt==‘f‘||delt==‘F‘)
{
cout<<“請輸入該分數分子:“;
stream>>fenshu.fenzi;
cout<<“請輸入該分數分母:“;
stream>>fenshu.fenmu;
while(!fenshu.fenmu)
{
cout<<“分母不能為0,請再次輸入!“< cout<<“請輸入該分數分母:“;
????stream>>fenshu.fenmu;
}
}
else
{
cout<<“輸入一個整數:“;
stream>>fenshu.fenzi;
fenshu.fenmu=1;
}
return?stream;
}
Fenshu&?Fenshu::operator=(int?zhengshu)
{
fenzi=zhengshu;
fenmu=1;
return?*this;
}
Fenshu?operator+(Fenshu&?fenshu1Fenshu&?fenshu2)
{
return?Fenshu(fenshu1.fenzi*fenshu2.fenmu+fenshu1.fenmu*fenshu2.fenzifenshu1.fenmu*fenshu2.fenmu);
}
Fenshu?operator-(Fenshu&?fenshu1Fenshu&?fenshu2)
{
return?Fenshu(fenshu1.fenzi*fenshu2.fenmu-fenshu1.fenmu*fenshu2.fenzifenshu1.fenmu*fenshu2.fenmu);
}
Fenshu?operator*(Fenshu&?fenshu1Fenshu&?fenshu2)
{
return?Fenshu(fenshu1.fenzi*fenshu2.fenzifenshu1.fenmu*fenshu2.fenmu);
}
Fenshu?operator/(Fenshu&?fenshu1Fenshu&?fenshu2)
{
return?Fenshu(fenshu1.fenzi*fenshu2.fenmufenshu1.fenmu*fenshu2.fenzi);
}
Fenshu?operator+(Fenshu&?fenshuint?zhengshu)
{return?fenshu+Fenshu(zhengshu);}
Fenshu?operator-(Fenshu&?fenshuint?zhengshu)
{return?fenshu-Fenshu(zhengshu);}
Fenshu?operator*(Fenshu&?fenshuint?zhengshu)
{return?fenshu*Fenshu(zhengshu);}
Fenshu?operator/(Fenshu&?fenshuint?zhengshu)
{return?fenshu/Fenshu(zhengshu);}
Fenshu?operator+(int?zhengshuFenshu&?fenshu)
{return?Fenshu(zhengshu)+fenshu;}
Fenshu?operator-(int?zhengshuFenshu&?fenshu)
{return?Fenshu(zhengshu)-fenshu;}
Fenshu?operator*(int?zhengshuFenshu&?fenshu)
{return?Fenshu(zhengshu)*fenshu;}
Fenshu?operator/(int?zhengshuFenshu&?fenshu)
{return?Fenshu(zhengshu)/fenshu;}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????50176??2003-01-16?16:48??test1\Fenshu.ncb
?????文件????????772??2003-01-16?16:17??test1\Fenshu.plg
?????文件???????3490??2010-05-28?00:53??test1\分數計算.dsp
?????文件????????541??2010-05-28?00:53??test1\分數計算.dsw
?????文件??????33792??2010-05-28?00:53??test1\分數計算.ncb
?????文件??????48640??2010-05-28?00:53??test1\分數計算.opt
?????文件????????673??2010-05-28?00:53??test1\分數計算.plg
?????文件???????1149??2003-01-15?21:40??test1\Fenshu.h
?????文件???????2554??2003-01-15?21:40??test1\Fenshu.cpp
?????文件???????1424??2003-01-15?21:53??test1\分數計算.cpp
?????文件??????48640??2003-01-16?16:48??test1\Fenshu.opt
?????文件???????3468??2003-01-16?16:48??test1\Fenshu.dsp
?????文件????????537??2003-01-16?16:48??test1\Fenshu.dsw
?????文件??????91136??2003-01-16?16:19??test1\Debug\vc60.idb
?????文件?????110592??2003-01-16?15:39??test1\Debug\vc60.pdb
?????文件????1098752??2003-01-16?16:17??test1\Debug\Fenshu.pdb
?????文件????2007152??2003-01-16?15:39??test1\Debug\Fenshu.pch
?????文件?????262316??2003-01-16?16:17??test1\Debug\Fenshu.obj
?????文件?????186450??2003-01-16?16:17??test1\Debug\分數計算.obj
?????文件?????817288??2003-01-16?16:17??test1\Debug\Fenshu.ilk
?????文件?????544886??2003-01-16?16:17??test1\Debug\Fenshu.exe
?????目錄??????????0??2003-01-01?04:32??test1\Debug
?????目錄??????????0??2003-01-01?04:32??test1
-----------?---------??----------?-----??----
??????????????5314428????????????????????23
評論
共有 條評論