




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c+语言课程设计简单分数计算器 c+语言程序设计课程设计报告 姓 名: 指 导 学 号: 班 级:10计本2班 日 期:2011年05月20日 计算机科学与技术系课程设计评分表课程名称: 面向对象程序设计 分数计算器 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量功能完善度综合成绩学 号班 级姓 名综合成绩 教师签名: 日 期: c+语言课程设计简单计算器说明书目 录一、设计目标2二、设计图2三、图解4四、调试和测试9五、分析及结论10六、附录12一、设计目标制作一个分数计算器,以完成分数之间,分数与整数之间的四则运算,以及求分数的指数。系统界面不做牵制要求。在进行运算后可以选择继续运算或者进行下一次新的运算,能实现返回功能。二、设计图进入界面1、总体设计图 主菜单安全退出分数的指数运算分数与整数之间的四则运算分数与分数之间的四则运算2、详细图开始main()while()start()case0退出fenshu()js()case1js()case2zs()case3模块功能说明及调用关系说明:三、图解1、 欢迎使用简单计算器2、 等待系统进入主菜单在此选择计算类型【选择代码,回车确定】1、为选择分数与分数之间的四则运算、2、为选择分数与整数之间的四则运算3、为分数的指数运算0、为安全退出程序3、 选择分数与分数之间的四则运算分数与分数的加法 如:18/5+16/3=134/15分数与分数的减法 如: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为返回到主菜单,再次进行选择至此,以安全退出。四、调试和测试、调试方法:首先打开microsoft visual c+ 6.0 ,运行程序,出现错误修改再运行,直至运行结果0 error ,0 warning结束。接着进入程序界面,看程序能否实现所要求的各项功能,再作下一步的修改。、调试时出现的问题及解决方案:1、当多次运行程序时,屏幕被运行数据占满,显得很杂乱。解决方案:引用清屏函数。2、 在进行运算时要实现反复运算得有返回功能,由于我们程序分支,不能正常的调用完毕后进入下一个循环,自动返回。解决方案:直接在switch的cash语句中直接调用所需返回的函数。按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择3、在一次运算完毕后如何不返回继续作下一次的相同运算。解决方案:作用循环语句,结果始终为真,结尾利用if语句控制是否跳入上级菜单或者continue。4、如何在欢迎界面停留时间。解决方案:通过for循环,执行无条件的;的语句,通过执行次数控制程序在欢迎界面的停留时间。5、还有一些小错误,比如未声明就直接使用变量、未对一些变量初始化、声明是空值函数却有返回值、缺少;、使用getch(),system(cls)却缺少相应的头文件,出现警告五、分析及结论在做这个课程设计报告之初是仿照以前的计算器,但是,由于程序行数做了要求,而且题目要求不一样,所以我就在仿照以前的计算器的同时,进一步完善其功能。该程序是我经过多次编写,修改,在不懂的问题上,与指导朋友刘华和刘洋 一起讨论,根据观察其他程序,通过菜单选择实现不同功能得到的启发,将自己所需实现的功能通过文字形式的菜单表现出来。 然后再菜单处进行选择计算类型,正常完成计算,返回和退出。我最满意的地方是“清屏”和“在界面上停留的时间”,总之这个程序基本能符合我自己的要求。不足之处:1、 代码重用;2、 不能熟练的运用类;3、 没有用到指针和数组,对数组和指针还不能很好的运用。心得体会:通过这次课程设计我对这学期所学的c+语言的理论知识得到巩固,达到该设计的基本目的,也发现自己的不足之出,在以后的上机中应更加注意。同时体会到c+语言具有的语句简洁,使用灵活,执行效率高等特点。发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。发现自己对指针还不能正确使用。通过实际操作,学会 c+语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”的寓意。六、附录 附录源代码:#include #include /数学函数的定义#include /屏幕操作函数#include /库函数const int n=80000000; using namespace std;int xz;class jsqpublic:jsq()jsq()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 | 计算机科学系 |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;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: 整数与分数运算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(); /调用标准函数实现返回 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 endl; 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);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 输入错误或分数无意义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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019年全国生物联赛试题及答案
- 恋爱合同协议文字模板
- 员工还款合同协议
- 商品房购销合同解除协议
- 快递共配公司合同协议
- 商品试用买卖合同协议
- 比赛免责协议书范本
- 品牌运营权授权合同协议
- 民俗建筑设计合同协议
- 民宿合作协议合同协议
- 数独题目100题1(可打印)
- 七年级生物呼吸系统的组成PPT教学课件
- 篮球智慧树知到答案章节测试2023年浙江大学
- 企业资产管理(EAM)系统经济效益评价
- 工艺工法QC超高层建筑工程管井立管倒装法施工工法附图
- 钢屋架制作与安装施工方案
- GB/T 1633-2000热塑性塑料维卡软化温度(VST)的测定
- GB/T 11032-2020交流无间隙金属氧化物避雷器
- 煤矿爆破工培训
- 北师大版三年级数学下册竞赛卷
- 中医医院儿科建设与管理指南(试行)
评论
0/150
提交评论