




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 多功能计算器一、问题描述设计一个多功能计算器,可以完成基本的计算。设计要求:1.具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按C清屏,按R返回 菜单。例如:输入:2+5输出:72.实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下: 例如:输入:2+5输出:7二、算法说明1数据结构说明(可以图示说明,也可以文字说明)本程序主要根据选择菜单编写了六个自定义函数,用于在main()函数中调用,在main()中,用一个字符变量num1来记录下菜单选项的标号,根据num1的值来决定调用哪个函数。程序要完成的功能及所要用到的函数如下:下面是整个程序的流程图:2算法说明(即函数说明)void suanshuyunsuan() /做算术运算时调用的函数void suanshuyunsuan2() /选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数 /判断算术运算是否继续void panduan() /判断算术运算是否继续 void biaodashiyunsuan() /单运算符表达式实现函数void qingping() /清除屏幕void fanhuicaidan() /显示菜单三、测试结果(这部分需文字与图示结合)1第一组测试用例(1)测试输入: 测试目的:测试算术运算的功能结果输出:(2)再一次输入:1测试目的:测试算术运算是否能继续结果输出: (3)这时输入:0 测试目的:退出算术运算 结果输出: 2.第二组测试用例测试输入:测试目的:测试单运算符表达式函数结果输出:3.第三组测试用例测试输入:c 测试目的:测试输入c是否能清屏测试输出: 4.第四组测试用例测试输入:r 测试目的:测试返回菜单函数测试输出: 5. 第五组测试用例测试输入:t 测试目的:测试是否能正确退出程序测试输出: 附录:源代码(附上全部源代码,且不能雷同)#include#includewindows.hdouble z; /定义全局变量用来存放算术运算前一次的结果/做算术运算时调用的函数void suanshuyunsuan() char fh,hh1,hh2; /hh1与hh2是用来存放回车字符的double num1,num2;printf(输入:);scanf(%lf%c%c%c%lf,&num1,&hh1,&fh,&hh2,&num2); switch(fh) /判断是做什么运算case +:z=num1+num2;break;case -:z=num1-num2;break;case *:z=num1*num2;break;case /:z=num1/num2;break;printf(结果:=);printf(n%lfn,z);/选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数void suanshuyunsuan2()double num1;char fh;printf(%lfn,z);/首先输出前一次算术运算的结果rewind(stdin);scanf(%c%lf,&fh,&num1); switch(fh)case +:z=z+num1;break;case -:z=z-num1;break;case *:z=z*num1;break;case /:z=z/num1;break;printf(结果:=);printf(n%lfn,z);/判断算术运算是否继续void panduan()printf(是否结束运算?n);printf(0.是 );printf(1.否n);printf(请选择0或1:);/单运算符表达式实现函数void biaodashiyunsuan()int num1,num2,num3;char fh;printf(输入:);scanf(%d%c%d,&num1,&fh,&num2);printf(结果:=);switch(fh)case +:num3=num1+num2;break;case -:num3=num1-num2;break;case *:num3=num1*num2;break;case /:num3=num1/num2;break;printf(%d,num3);/清除屏幕void qingping()system(cls);/显示菜单void fanhuicaidan()printf( 菜单n);printf(a.算术运算n);printf(b.表达式运算n);printf(c.清屏重做n);printf(r.返回菜单n);printf(t.退出程序n);void main()char num1; /用于存放选择的菜单选项int pd; /用于存放是否继续算术运算的选择项printf( 菜单n); /先显示菜单printf(a.算术运算n);printf(b.表达式运算n);printf(c.清屏重做n);printf(r.返回菜单n);printf(t.退出程序n);while(1)rewind(stdin); /清除键盘缓冲区printf(nplease chose one letter from a,b,c,r,and tn);scanf(%c,&num1); /输入一个数用于判断是选择了哪一个菜单项if(num1=a) /选择了做算术运算suanshuyunsuan(); panduan();scanf(%d,&pd);while(pd) /继续做算术运算时就循环suanshuyunsuan2();panduan();scanf(%d,&p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度大型工程采购谈判执行合同范本
- 2025版建筑工程劳务分包施工合同-高精度钢筋施工合作协议
- 二零二五年度房产交易资金监管居间合同
- 二零二五年度茶叶国际展会参展与交流合同
- 二零二五年度房地产居间服务标准合同
- 二零二五年度生态园林承揽合同建筑工程合同样本
- 二零二五年度在线教育平台课程预约买卖合同范本
- 2025版综合保障服务工地门卫劳动合同范本
- 二零二五年度建筑工地安全生产及安全技术保障合同
- 2025版电力自动化设计服务合同样本
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 26480-2011阀门的检验和试验
- GB/T 19861-2005丙烯酸系阴离子交换树脂强碱基团、弱碱基团和弱酸基团交换容量测定方法
- GB/T 11085-1989散装液态石油产品损耗
- GB 30000.3-2013化学品分类和标签规范第3部分:易燃气体
- 《材料力学》说课-课件
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 天星择日的基本原理
评论
0/150
提交评论