资源描述:
《C语言实现计算器功能.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一多功能计算器一、问题描述设计一个多功能计算器,可以完成基本的计算。设计要求:1.具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘R’返回菜单。例如:输入:2+5输出:72.实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下:例如:输入:2+5输出:7二、算法说明1.数据结构说明(可以图示说明,也可以文字说明)本程序主要根据选择菜单编写了六个自定义函数,用于在main()函数中调用,在main()中
2、,用一个字符变量num1来记录下菜单选项的标号,根据num1的值来决定调用哪个函数。程序要完成的功能及所要用到的函数如下:下面是整个程序的流程图:2.算法说明(即函数说明)voidsuanshuyunsuan()//做算术运算时调用的函数voidsuanshuyunsuan2()//选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数//判断算术运算是否继续voidpanduan()//判断算术运算是否继续voidbiaodashiyunsuan()//单运算符表达式实现函数voidqingping()//清除屏幕voidfanhuicaida
3、n()//显示菜单三、测试结果(这部分需文字与图示结合)1.第一组测试用例(1)测试输入:测试目的:测试算术运算的功能结果输出:(2)再一次输入:1测试目的:测试算术运算是否能继续结果输出:(3)这时输入:0测试目的:退出算术运算结果输出:2.第二组测试用例测试输入:测试目的:测试单运算符表达式函数结果输出:3.第三组测试用例测试输入:c测试目的:测试输入c是否能清屏测试输出:4.第四组测试用例测试输入:r测试目的:测试返回菜单函数测试输出:5.第五组测试用例测试输入:t测试目的:测试是否能正确退出程序测试输出:附录:源代码(附上全部源代码,且不能雷同)#includ
4、e#include"windows.h"doublez;//定义全局变量用来存放算术运算前一次的结果//做算术运算时调用的函数voidsuanshuyunsuan(){charfh,hh1,hh2;//hh1与hh2是用来存放回车字符的doublenum1,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
5、=num1*num2;break;case'/':z=num1/num2;break;}printf("结果:=");printf("%lf",z);}//选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数voidsuanshuyunsuan2(){doublenum1;charfh;printf("%lf",z);//首先输出前一次算术运算的结果rewind(stdin);scanf("%c%lf",&fh,&num1);switch(fh){case'+':z=z+num1;break;case'-':z=z-num1;bre
6、ak;case'*':z=z*num1;break;case'/':z=z/num1;break;}printf("结果:=");printf("%lf",z);}//判断算术运算是否继续voidpanduan(){printf("是否结束运算?");printf("0.是");printf("1.否");printf("请选择0或1>:");}//单运算符表达式实现函数voidbiaodashiyunsuan(){intnum1,num2,num3;charfh;printf("输入:");scanf("%d%c%d",&num1,&fh,&num2
7、);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);}//清除屏幕voidqingping(){system("cls");}//显示菜单voidfanhuicaidan(){printf("菜单");printf("a.算术运算");printf("b.表达式运算")