分数计算器工科.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分数计算器工科

C++课程设计实验报告 ——分数计算器 学校:吉林大学 学院:软件工程 学号 姓名:胡雪梅 一,课程设计目的: 1、熟悉利用面向对象的方法以及C++的编程思想来完成系统的设计; 2、锻炼学生在设计的过程中,建立清晰的类层次,应用继承和多态等面向对象的编程思想; 3、通过本课程设计,加深对面向对象程序设计课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,深刻体会面向对象的编程思想,掌握使用面向对象程序设计语言C++,学会编写结构清晰、风格良好的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 二,实验设计方案 实验目的: 设计一个分数计算器:1)实现输入,输出,+,-,*,/运算符的重载;2)实现分子分母的约分与规格化。 在实验中还需要面对六个运算符重载,通过运算符重载,我们可以简单的使用分数计算,而不需要关心它的结构,运算符重载,我们根据基本的数学定理,将加减乘除包装,并重载了输入输出运算符,这样,在输入输出时便可直接输出用户方便接收的格式。 三、实验步骤、测试与结果分析 特色代码展示: cout运算结果为:endl; if(result.Getfenzi()==0) cout0endl; else if(result.Getfenmu()==1) coutresult.Getfenzi()endl; else coutresultendl; 此处代码放在主函数最后,避免了当分子为0时输出例如0/2的情况和分母为1时输出2/1的情况,使设计更合理化。 coutcontinue?(Yes:y/Y,No:n/N)endl; //供用户选择是否继续 cinisContinue; 此处的代码可供用户选择是否继续执行操作,避免了一次只能计算一次的情况,使设计更人性化 测试结果如下: 程序能够执行! 能够进行准确的计算,输出结果为分数。 当用户输入有误时能够提醒用户重新输入,设计比较人性化。 最后的运算结果能够正常约分,且有负号的话能够正确显示在分子上。 实验一总结: 优点: 试验中,我按照从简单到复杂的方法,一步一个脚印编写代码,使得程序不易发生错误,并且容易更正,编写出来的程序代码简洁明朗,便于阅读。 2、注释写得清晰明了,便于他人和自己阅读。 3、在能够完成基本功能的基础上,有一定提示用户信息输入的提示,能够自动检测一些用户输入错误的信息,并提示用户重新输入。 缺点: 1、分数的正负符号只能提示用户在输入分子之前输入,不能做到分子分母均可以输入分数,此处有待完善。 编码的速度有一个从慢到快的过程,在本次试验中,我的速度依然比较慢,这看出我平时编码比较少,缺乏熟练度,并对算法了解不深入。 代码展示: #includeiostream #includecmath using namespace std; /*************************类的定义***************************/ class Counter{ private: int fenzi; int fenmu; public: Counter(); Counter(int m,int n); //构造函数 Counter operator+(const Counter t) ; //重载运算符+ Counter operator-(const Counter t) ; //重载运算符- Counter operator*(const Counter t) ; //重载运算符* Counter operator/(const Counter t) ; //重载运算符/ int Getfenzi(); int Getfenmu(); void Setfenzi(int a); void Setfenmu(int b); void huajian(); //化简分数 friend std::ostream operator(std::ostream out,const Counter t); //重载 friend std::istream operator(std::istream in,const Counter t); //重载 };

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档