c++分数计算器含源码.pdf

上传人:tbuqq 文档编号:5493531 上传时间:2020-05-23 格式:PDF 页数:10 大小:217.83KB
返回 下载 相关 举报
c++分数计算器含源码.pdf_第1页
第1页 / 共10页
c++分数计算器含源码.pdf_第2页
第2页 / 共10页
c++分数计算器含源码.pdf_第3页
第3页 / 共10页
c++分数计算器含源码.pdf_第4页
第4页 / 共10页
c++分数计算器含源码.pdf_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《c++分数计算器含源码.pdf》由会员分享,可在线阅读,更多相关《c++分数计算器含源码.pdf(10页珍藏版)》请在三一文库上搜索。

1、实用文档 文案大全 一、 实验设计方案 1、实验内容与目的(简单介绍实验内容,说明实验目的) 实验目的:设计一个分数计算器:1)实现输入 ,输出 #include #include using namespace std; /-创建分数类 - class Fraction private: int nume; / 分子 int deno; / 分母 int Gcf(int m,int n); / 辅助函数,返回 m 和 n 最大公因数 public: Fraction(int n=1,int d=1); virtualFraction() void Reduction(); / 约分 int

2、GetNume() constreturn nume; / 返回分子 int GetDeno() constreturn deno; / 返回分母 void SetNume(int n); / 设置分子 void SetDeno(int d); / 设置分母 Fraction operator+(const Fraction / 重载加法符 + Fraction operator-(const Fraction / 重载加法符 - Fraction operator*(const Fraction / 重载加法符 * Fraction operator/(const Fraction / 重载

3、加法符 / ; ostream / 重载输入运算 符 /-最大公因数函数 - int Fraction:Gcf(int m,int n) if(n=0) return m; / 如果 n=0 ,m 为最大公因数 else return Gcf(n,m%n); / 否者辗转相除 /-约分函数 - void Fraction:Reduction() 实用文档 文案大全 if(denonume*a.deno+this-deno*a.nume; / 求和的分子 result.deno=this-deno*a.deno; / 求和的分母 result.Reduction(); / 约分 return r

4、esult; / 返回和 /-重载运算符 - Fraction Fraction:operator-(const Fraction 实用文档 文案大全 result.nume=this-nume*a.deno-this-deno*a.nume; / 求差的分子 result.deno=this-deno*a.deno; / 求差的分母 result.Reduction(); / 约分 return result; / 返回差 /-重载运算符 *- Fraction Fraction:operator * (const Fraction result.nume=this-nume*a.nume;

5、 / 求积的分子 result.deno=this-deno*a.deno; / 求积的分母 result.Reduction(); / 约分 return result; / 返回积 /-重载运算符 /- Fraction Fraction:operator / (const Fraction / 求商的分子 result.deno=this-deno*a.nume; / 求商的分母 result.Reduction(); / 约分 return result; / 返回商 /-重载运算符 - istream / 接收字符 int m,n; / 定义分子和分母 实用文档 文案大全 inm;

6、/ 输入分子 inch; / 输入/ if(ch !=/) coutn; / 输入分母 if(n=0) coutobj1; / 输入第一个分数 infileindex; / 输入需要执行的操作 符号 infileobj2; / 输入第二个分数 infilech; / 选择继续或者计算结 果 if(index=+) result=obj1+obj2; / 加法 实用文档 文案大全 else if(index=-) result=obj1-obj2; / 减法 else if(index=*) result=obj1*obj2; / 乘法 else if(index=/) result=obj1/

7、obj2; / 除法 else system(“PAUSE“); return 0; cout“ 正在计算 “obj1“ “index“ “obj2“.“endl; ofstream outfile(“output.txt“,ios:app); if(!outfile) cout“ 打开文件 output.txt失败“endl; exit(1); outfileobj1“ “index“ “obj2“ “=“ “resultendl; /输出结果到 output.txt cout“ 计算完成,结果保存在output.txt中“endlendl; if(ch=;) continue; / 若遇到

8、 “;“,继续执行 else if(ch=) / 若遇到“=“ ,计算结果 outfile“-谢谢使用 -“endlendl; break; outfile.close(); / 文件输出流关闭 infile.close(); / 文件输出流关闭 system(“PAUSE“); return 0; 2、实验现象及结论(应用文字和程序运行的截图说明程序测试现象,并解释结果) input.txt 输入截图如下: 实用文档 文案大全 Jcsy.exe 执行截图如下: output.txt 输出截图如下: input.txt 输入截图如下: 实用文档 文案大全 jcsy.exe 执行截图如下: Ou

9、tput.txt 输出截图如下: 3、实验总结(是否成功解决问题,总结实验中最有价值的内容,程序能够在哪些方面进 实用文档 文案大全 一步改善,自我评价成败得失) 试验中,我们按照从简单到复杂的方法,一步一个脚印编写代码,使得程序不易发 生错误,并且容易更正,编写出来的程序代码简洁明朗,效率较高; 通过对例题的学习,我们最终将正确的代码编写出,并在不断地修改之下做到方便 用户使用的要求; 编码的速度有一个从慢到快的过程,在本次试验中,我们的速度依然比较慢,这看 出我们平时编码比较少,缺乏熟练度,并对算法了解不深入; 但是我们的代码看起来仍然有些凌乱,效率还没有带到真正的高效,每次运行都需 要等

10、待几秒钟。再以后我们将通过练习基础功,简化程序代码,实现简单代码完善功能 的理想。 1. 编码要尽量使程序简单,采用最切实可靠的算法,实现封装,不同部分的代码应分工 明确,最后由主函数统一调用; 2. 编写完成后先自己检查一遍代码,然后由机器检测,找出错误的根源,从不同角度思 考如何解决问题; 3. 测试时应尽可能输入各种可能情况的数据以确保程序准确无误。 4. 应避免任何可能的漏洞,使代码的可用性和可靠性增强。 5. 试验中,我按照从简单到复杂的方法,一步一个脚印编写代码,使得程序不易发生错 误,并且容易更正,编写出来的程序代码简洁明朗,效率较高; 6. 通过对例题的学习,我最终将正确的代码

11、编写出,并在不断地修改之下做到方便用户 使用的要求; 7. 编码的速度有一个从慢到快的过程,在本次试验中,我的速度依然比较慢,这看出我 平时编码比较少,缺乏熟练度,并对算法了解不深入; 8. 但是我的代码看起来仍然有些凌乱,效率还没有带到真正的高效,每次运行都需要等 待几秒钟。再以后我将通过练习基础功,简化程序代码,实现简单代码完善功能的理 想。 本次试验中,我们先将书上的代码编译通过,通过讨论,认为书上检查异常的方式不 便于理解,于是直接采用输出到dos 窗口的方式,所以没有使用到utility.h 头文件, 同时,由于我们电脑上安装的编译系统不方便对.h 文件进行调试修改,所以我们采用 实用文档 文案大全 的 cpp 文件,在一个 cpp文件中写下所有代码。 对于 txt 文件输出的格式,我们做的稍微人性化,界面简洁,容易区分

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1