• 大小: 926KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-31
  • 语言: C/C++
  • 标签: C++  计算  

资源简介

运用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


评论

共有 条评论