网站大量收购独家精品文档,联系QQ:2885784924

C语言实现计算器功能.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’清屏,按‘R’返回 菜单。 例如:输入:2 + 5 输出:7 2.实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下: 例如:输入: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 测试目的:测试是否能正确退出程序 测试输出: 附录:源代码(附上全部源代码,且不能雷同) #includestdio.h #includewindows.h double 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%lf\n,z); } //选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数 void suanshuyunsuan2() { double num1; char fh; printf(%lf\n,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%lf\n,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 -:n

文档评论(0)

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

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

1亿VIP精品文档

相关文档