c++【实现分数重载 】【实现分数的加减乘除】重载函数 运算符重载

c++【实现分数重载 】【实现分数的加减乘除】重载函数 运算符重载

ID:33825199

大小:115.00 KB

页数:16页

时间:2019-03-01

c++【实现分数重载 】【实现分数的加减乘除】重载函数  运算符重载_第1页
c++【实现分数重载 】【实现分数的加减乘除】重载函数  运算符重载_第2页
c++【实现分数重载 】【实现分数的加减乘除】重载函数  运算符重载_第3页
c++【实现分数重载 】【实现分数的加减乘除】重载函数  运算符重载_第4页
c++【实现分数重载 】【实现分数的加减乘除】重载函数  运算符重载_第5页
资源描述:

《c++【实现分数重载 】【实现分数的加减乘除】重载函数 运算符重载》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、昆明理工大学理学院信息与计算科学专业操作性实验报告年级:2010级姓名:学号:指导教师:实验课程名称:开课实验室:理学院机房实验成绩:学风(5)观察能力(15)操作能力(30)调试能力(50)其它总分实验内容:1.实验/作业题目:写一个分数的程序,应用重载函数,使运算符重载,并实现分数的加减乘除。对1~100分内各个分数段给出ABCD的评价2.实验/作业课时:2个课时3.实验过程(包括实验环境、实验内容的描述、完成实验要求的知识或技能):先写程序,再写流程图。#includeusingnamespacestd;classfraction{第16页private:

2、intabove;//分子intbelow;//分母voidreduction();//约分fractionmakeCommond(fraction);//通分public:fraction(inta=0,intb=1){//构造函数above=a;below=b;}fractionoperator+(fraction);//两分数相加fractionoperator-(fraction);//两分数相减fractionoperator*(fraction);//两分数相乘fractionoperator/(fraction);//两分数相除voiddisplay();//显示分数

3、voidinput();//输入分数};第16页//***********分数的约分*********//voidfraction::reduction(){inti,comdiv,small,max;if(above1;i--){第16页if(small%i==0&max%i==0)break;}comdiv=i;//最大公约数if(i!=0){above/=i;below/=i;}}//*************分数的通分******

4、*******//fractionfraction::makeCommond(fractionfrac){intb1=below,b2=frac.below,m,s;if(b1>b2)第16页{m=b1%b2;s=b2;}else{m=b2%b1;s=b1;}while(m>0){intres=s%m;s=m,m=res;}intsmall=(b1*b2)/s;第16页above=above*(small/below);frac.above=frac.above*(small/frac.below);below=small;frac.below=small;returnfrac;}

5、//***************分数的相加*************//fractionfraction::operator+(fractionfr){fractionf3;f3.above=above*fr.below+fr.above*below;第16页f3.below=below*fr.below;f3.reduction();returnf3;}//*********************分数的相减***************//fractionfraction::operator-(fractionfr){fractionf3;f3.above=above*fr.

6、below-fr.above*below;f3.below=below*fr.below;f3.reduction();第16页returnf3;}//*******************分数的相乘****************//fractionfraction::operator*(fractionfr){fractionf3;f3.above=above*fr.above;f3.below=below*fr.below;f3.reduction();returnf3;}//******************分数的相除***********//第16页fractionfr

7、action::operator/(fractionfr){fractionf3;f3.above=above*fr.below;f3.below=below*fr.above;f3.reduction();returnf3;}//*********************分数的输出*************//voidfraction::display(){第16页cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。