資源簡(jiǎn)介
運(yùn)用C++函數(shù)重載等方法編寫的簡(jiǎn)單計(jì)算器,實(shí)現(xiàn)所有有理數(shù)計(jì)算。將C++的基本內(nèi)容涵蓋了,適合初學(xué)者復(fù)習(xí)總結(jié)之用

代碼片段和文件信息
#include“Fenshu.h“
//計(jì)算分子分母的最大公約數(shù),并返回最大公約數(shù)
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;
}
//將分?jǐn)?shù)化作最簡(jiǎn)分?jǐn)?shù)
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;
}
}
//重載運(yùn)算符<<以假分?jǐn)?shù)形式輸出
ostream&operator<<(ostream&?streamFenshu&?fenshu)
{
FsJianHua(fenshu);
if(fenshu.fenmu!=1)
stream< else
stream< return?stream;
}
//重載運(yùn)算符>>
istream&operator>>(istream&?streamFenshu&?fenshu)
{
cout<<“輸入整數(shù)或分?jǐn)?shù)(z/f):“;
char?delt;
cin>>delt;
if(delt==‘f‘||delt==‘F‘)
{
cout<<“請(qǐng)輸入該分?jǐn)?shù)分子:“;
stream>>fenshu.fenzi;
cout<<“請(qǐng)輸入該分?jǐn)?shù)分母:“;
stream>>fenshu.fenmu;
while(!fenshu.fenmu)
{
cout<<“分母不能為0,請(qǐng)?jiān)俅屋斎?“< cout<<“請(qǐng)輸入該分?jǐn)?shù)分母:“;
????stream>>fenshu.fenmu;
}
}
else
{
cout<<“輸入一個(gè)整數(shù):“;
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;}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????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\分?jǐn)?shù)計(jì)算.dsp
?????文件????????541??2010-05-28?00:53??test1\分?jǐn)?shù)計(jì)算.dsw
?????文件??????33792??2010-05-28?00:53??test1\分?jǐn)?shù)計(jì)算.ncb
?????文件??????48640??2010-05-28?00:53??test1\分?jǐn)?shù)計(jì)算.opt
?????文件????????673??2010-05-28?00:53??test1\分?jǐn)?shù)計(jì)算.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\分?jǐn)?shù)計(jì)算.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\分?jǐn)?shù)計(jì)算.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
評(píng)論
共有 條評(píng)論