




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分数计算器设计报告(istreamint b;char y=/;int gcd(int m,int n)/求最大公约数if(m%n=0)return n;elsereturn gcd(n,m%n);class Fraction/分数类public:Fraction(int x1=0,int z2=1);/构造函数void huajian();/分数化简Fraction operator +(Fraction f2);/运算符重载 +Fraction operator -(Fraction f2);/运算符重载 -Fraction operator *(Fraction f2);/运算符重载 *Fraction operator /(Fraction f2);/运算符重载 /void calculate();/算术运算void compare();/逻辑运算friend void operator (istream/输入流重载friend void operator f ;catch(int)coutf ;catch(char)coutf ;void operator0)out(istream inf.x;in.unsetf(ios:skipws);/inc;in.setf(ios:skipws);/if(c != y)if(c=n)f.z = 1;elseinf.z;throw c;elseinf.z;if(f.z = 0)throw f.z;Fraction:Fraction(int x1,int z2)/构造函数 x=x1;z=z2;void Fraction:huajian()/分数化简 int gc;gc=gcd(abs(x),abs(z);x/=gc;z/=gc;Fraction Fraction:operator +(Fraction f2) /运算符重载 +Fraction ff;a=x*f2.z+z*f2.x;b=z*f2.z;ff.x=a;ff.z=b;ff.huajian();return ff;Fraction Fraction:operator -(Fraction f2) /运算符重载 -Fraction ff;a=x*f2.z-z*f2.x;b=z*f2.z;ff.x=a;ff.z=b;ff.huajian();return ff;Fraction Fraction:operator *(Fraction f2) /运算符重载 *Fraction ff;a=x*f2.x;b=z*f2.z;ff.x=a;ff.z=b;ff.huajian();return ff;Fraction Fraction:operator /(Fraction f2) /运算符重载 /if(f2.x=0)throw f2.x ;elseFraction ff;a=x*f2.z;b=z*f2.x;ff.x=a;ff.z=b;ff.huajian();return ff;void Fraction:compare()/比较函数,用来比较两个分数的大小 char yn;doFraction ff1,ff2,ff3;cout0) cout“;coutyn;while(yn=y|yn=Y);void Fraction:calculate()/算术运算 Fraction f1,fc;/用来存放结果和即将参加运算的分数char yn;char cc;coutcc;Myfun(fc);switch(cc)case +:f1=f1+fc;coutfc;f1=f1/fc;coutyn;while(yn=y|yn=Y);/*main*/void main() Fraction fff4;char yn;char judge;do coutjudge;switch(judge)casec:fff4.calculate();break;caseb:pare();break;coutyn;while(yn=y|yn=Y);/*main*/(二)运行结果:(1)算术运算加法:减法:乘法:除法:分母为 0 时:分数格式不对时:(2)逻辑运算(2)算术和逻辑运算六、结论与体会通过此次的课程设计,我们将本学期由课本上所学习的有关内容应用到实践当中,使我们在应用过程中更加清楚的了解并掌握 C+语言的各部分的内容,进一步加深了对 C+语言的认识与理解,尤其注重了 C+语言与 C 语言不同的部分,同时提高了个人程序设计思想,及时发现一些错误,并在调试过程中更加深刻的认识到 C+语言程序的严谨性。任何一个程序员都无法保证所编写的程序没有错误,语法错误在编译时就会被发现,连接错误在连接时就会被发现。但程序内部的逻辑错误只能由我们自己去发现并定位修改,在遇到问题时,首先通过对此部分函数的整体流程进行分析,找出问题的所在,经过思考,再由小组成员商定最优解决方法,这样有助于提高我们个人团体协作能力。在调试程序时,首先对整个程序流程有全面的认识,调试过程中需细心,为了让小组成员的调试程序的能力全面提高,可分模块调试、共享调试收获,共同进步。同时,我们这次还利用了 VC+6.0 的单步调试功能,更加清楚的了解了每条语句的调用过程和结果。在课程设计中我们认识到 C+语言,他不仅全面兼容了 C 语言,保持了C 语言的简洁、高效和接近汇编语言的特点,更对 C 的类型系统进行了改革和扩充,比 C 语言更安全,编译系统更强大。此次课程设计中,我们自学了运算符的重载、输入输出流的重载,更是尝试了异常处理机制 trythrowcatch的使用,掌握了不少新知识。虽然程序还有一些不够完善的地方,如:错误的可能种类还不够多,但我们都已经尽了最大的努力。总之,通过此次课程设计,我们学到了许多我们在书本上学不到的知识,受益匪浅。通过实践,我们能更好地掌握 C+语言,并运用它编写应用程序。我们对它的功能和实用性、严密性,和对程序的编写都有了比较深刻的体会。毫无疑问,编程过程中我们遇到了许多问题,但通过我们不懈的努力,团结奋斗的精神,我们终究将问题一一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机器人自动化设备故障或失控应急预案
- 第三方服务中断应急预案(如检验、影像外包、IT支持)
- 关键数据库服务中断应急响应预案
- 建筑行业施工现场环境保护应急预案
- 临电安全知识培训课件
- 2025年水利安全员考试试题(含答案)
- 2025年互联网营销师(直播销售员)考试题库(含答案)
- 中小学生生态文明知识竞赛考试题库100题(含答案)
- 创新技术驱动的2025年城市轨道交通PPP项目建设与智慧城市交通规划可行性研究
- 先期物业合同(标准版)
- 安静与智慧主题班会课件
- 危险货物道路运输规则第4部分:运输包装使用要求(JTT617.4-2018)
- 2024年四川省成都市中考数学真题及答案解析
- 部队军事体能训练课件
- 狗猫鼠全文赏析课件
- 国有企业外部董事个人履职报告
- 2025年公共营养师三级考试试卷及答案
- 开工前安全培训教学课件
- 船舶拆解资金管理办法
- 2025年皮肤科学常见皮肤病鉴别诊断练习试卷答案及解析
- 高铁隧道配套施工方案
评论
0/150
提交评论