《c语言程序设计课程设计报告分数计算器》.doc

上传人:e****s 文档编号:88144538 上传时间:2023-04-22 格式:DOC 页数:20 大小:101.50KB
返回 下载 相关 举报
《c语言程序设计课程设计报告分数计算器》.doc_第1页
第1页 / 共20页
《c语言程序设计课程设计报告分数计算器》.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《《c语言程序设计课程设计报告分数计算器》.doc》由会员分享,可在线阅读,更多相关《《c语言程序设计课程设计报告分数计算器》.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+语言程序设计课程设计报告 姓 名: 指 导 学 号: 班 级:10计本2班 日 期:2011年05月20日 计算机科学与技术系课程设计评分表课程名称: 面向对象程序设计 分数计算器 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量功能完善度综合成绩学 号班 级姓 名综合成绩 教师签名: 日 期: C+语言课程设计简单计算器说明书目 录一、设计目标2二、设计图2三、图解4四、调试和测试9五、分析及结论10六、附录12一、设计目标制作一个分数计算器,以完成分数之间,分数与整数之间的四则运算,以及求分数的指数。系统界面不做牵制要求。在进行运算后可以选择继续运算或者进行下一次新的

2、运算,能实现返回功能。二、设计图进入界面1、总体设计图 主菜单安全退出分数的指数运算分数与整数之间的四则运算分数与分数之间的四则运算2、详细图开始main()while()start()case0退出fenshu()js()case1js()case2zs()case3模块功能说明及调用关系说明:三、图解1、 欢迎使用简单计算器2、 等待系统进入主菜单在此选择计算类型【选择代码,回车确定】1、为选择分数与分数之间的四则运算、2、为选择分数与整数之间的四则运算3、为分数的指数运算0、为安全退出程序3、 选择分数与分数之间的四则运算分数与分数的加法 如:18/5+16/3=134/15分数与分数的

3、减法 如:1/6-/2=-1/3注:在此举例分数与分数的加法 、减法计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择4、 选择分数与整数之间的四则运算分数与整数的乘法 如:1/2*2=1/1分数与整数的加法 如:1/5+6=31/5注:在此举例分数与整数的乘法 、加法计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择5、 选择分数的指数运算如:1/3的2次方等于1/9 如:2/3的2次方等于4/9 6、安全退出注:计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择至此,以安全退出。四、调试和

4、测试、调试方法:首先打开Microsoft Visual C+ 6.0 ,运行程序,出现错误修改再运行,直至运行结果0 error ,0 warning结束。接着进入程序界面,看程序能否实现所要求的各项功能,再作下一步的修改。、调试时出现的问题及解决方案:1、当多次运行程序时,屏幕被运行数据占满,显得很杂乱。解决方案:引用清屏函数。2、 在进行运算时要实现反复运算得有返回功能,由于我们程序分支,不能正常的调用完毕后进入下一个循环,自动返回。解决方案:直接在switch的cash语句中直接调用所需返回的函数。按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择3、在一次运算完

5、毕后如何不返回继续作下一次的相同运算。解决方案:作用循环语句,结果始终为真,结尾利用if语句控制是否跳入上级菜单或者continue。4、如何在欢迎界面停留时间。解决方案:通过for循环,执行无条件的;的语句,通过执行次数控制程序在欢迎界面的停留时间。5、还有一些小错误,比如未声明就直接使用变量、未对一些变量初始化、声明是空值函数却有返回值、缺少;、使用getch(),system(cls)却缺少相应的头文件,出现警告五、分析及结论在做这个课程设计报告之初是仿照以前的计算器,但是,由于程序行数做了要求,而且题目要求不一样,所以我就在仿照以前的计算器的同时,进一步完善其功能。该程序是我经过多次编

6、写,修改,在不懂的问题上,与指导朋友刘华和刘洋 一起讨论,根据观察其他程序,通过菜单选择实现不同功能得到的启发,将自己所需实现的功能通过文字形式的菜单表现出来。 然后再菜单处进行选择计算类型,正常完成计算,返回和退出。我最满意的地方是“清屏”和“在界面上停留的时间”,总之这个程序基本能符合我自己的要求。不足之处:1、 代码重用;2、 不能熟练的运用类;3、 没有用到指针和数组,对数组和指针还不能很好的运用。心得体会:通过这次课程设计我对这学期所学的C+语言的理论知识得到巩固,达到该设计的基本目的,也发现自己的不足之出,在以后的上机中应更加注意。同时体会到C+语言具有的语句简洁,使用灵活,执行效

7、率高等特点。发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。发现自己对指针还不能正确使用。通过实际操作,学会 C+语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”的寓意。六、附录 附录源代码:#include #include /数学函数的定义#include /屏幕操作函数#include /库函数const int n=80000000; using namespace std;int xz;class jsqpublic:jsq()jsq

8、()menu(); /菜单fenshu(); /分数之间的运算js(); /整数与分数运算start(); /开始zs(); /分数的指数运算tc(); /退出fun(int t,int f);/约分函数 private:int a,b,c,d,i,r,t,t1,f,f1,x;char n,q;void cd()/进入界面int i,j;coutendlendlendlendl;cout endl;cout * 欢迎使用分数计算器 *endl; cout endl;coutendlendl;cout |endl;cout |*|endl;cout | 重庆工商大学派斯学院 |endl;cout

9、 | 计算机科学系 |endl;cout | 制作人: 10计本2 邓寅森 |endl;cout | 2011年5月 |endl;cout |*|endl;cout |endlendl;coutendl 正;for(i=0;in;i+);cout在;for(i=0;in;i+);cout进;for(i=0;in;i+);cout入;for(i=0;in;i+);cout系;for(i=0;in;i+);cout统;for(i=0;in;i+);cout,;for(i=0;in;i+);cout请;for(i=0;in;i+);cout稍;for(i=0;in;i+);cout等;for(i=0

10、;in;i+);for(j=0;j=6;j+)cout.;for(i=0;in;i+);for(i=0;i8*n;i+);coutendlendl;coutendsendsendsendsendsendsendsendsendsendsendsendsendsendsends;for(j=0;j=50;j+)cout;for(i=0;i=50000000;i+);jsq:menu() / 主菜单 dosystem(cls); /清屏coutendl;cout endl;cout *简单计算器*endl;cout endlendl; cout 1: 分数之间的运算endlendl;cout 2:

11、 整数与分数运算endlendl;cout 3: 分数的指数运算endlendl;cout 0: 退 出endlendl; coutxz;while(xz3); /循环结束条件jsq:start()/自定义科学函数jsq js;js.menu();while(xz=1 & xz=3) switch(xz) case 1: js.fenshu();break; case 2: js.js();break; case 3: js.zs();break; coutendlendl; cout 是否继续进行运算(YN): ;/提示是否继续 if(getch()=n) js.menu(); /调用标准函

12、数实现返回 else continue; /重复上一次法则运算 if(xz=0)js.tc();jsq:fun(int t=0,int f=0)/约分int r,t1=t,f1=f;while(r=t%f)!=0) t=f; f=r;t1=t1/f;f1=f1/f;coutendl 计算结果为:t1/f1endl;jsq:tc()/退出coutendlendl 正 在 安 全 退 出 请稍候.;for(;i30000;i+) ; /*控制界面停留时间*/system(cls);/清屏coutendlendlendl endl; cout 谢 谢 使 用 endl; cout bay-bay e

13、ndl; cout endl;for(;i500000000;i+) ; /*控制界面停留时间*/system(cls);/清屏jsq:fenshu()/自定义分数函数jsq js;system(cls);coutendl;cout=endl;cout欢迎使用分数之间的计算endl;cout=endlendl;coutanb;coutendl 请选择计算方式endlq;coutendlcnd;if(b=0 | d=0) coutendl 输入错误或分数无意义endl;fenshu();switch(q)case+:t1=t=a*d+b*c;/分子f1=f=b*d;/分母js.fun(t1,f1

14、);break;case-:t1=t=a*d-b*c;f1=f=b*d;js.fun(t1,f1);break;case*:t1=t=a*c;f1=f=b*d;js.fun(t1,f1);break;case/:t1=t=a*d;f1=f=b*c;js.fun(t1,f1);break;jsq:js()/自定义分数函数【分数+整数】system(cls);/清屏coutendl; cout =endl;cout 欢迎使用分数与整数运算endl;cout =endlendl;coutanb;coutendl 请选择计算方式endlq;coutendlx;if(b=0) coutendl 输入错误

15、或分数无意义endl;fenshu();switch(q)case+:t1=t=x*b+a;f1=f=b;fun(t1,f1);break;case-:t1=t=a-b*x;f1=f=b;fun(t1,f1);break;case*:t1=t=a*x;f1=f=b;fun(t1,f1);break;case/:t1=t=a;f1=f=b*x;fun(t1,f1);break; jsq:zs()/分数的指数system(cls);coutendl;cout=endl;cout欢迎使用分数的指数计算endl;cout=endlendl; coutendlaqb; coutc; t=pow(a,c);f=pow(b,c); coutendl 最后结果为: t/fendl;void main() /主函数 jsq a;cd();/调用菜单函数a.start(); /调用开始函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 工程图纸

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁