《C语言实现计算器功能》由会员分享,可在线阅读,更多相关《C语言实现计算器功能(11页珍藏版)》请在人人文库网上搜索。
1、实验1多功能计算机一、问题的说明设计一台能完成基本计算的多功能计算机。设计要求:1 .具有整数数据、浮点型数据的算术(加法、减法、乘法、除法)运算功能。 依次输入第一个操作数、运算符(,-,*,/)和第二个操作数,并输出结果。 结果可以是下一运算的第一运算数。 按“c”清除画面,按“r”返回菜单。输入: 25输出: 72 .实现一元运算符公式计算的功能。 输入的操作数可以包含整数或浮点数。 输入公式如下所示输入: 2 5输出: 7二、算法的说明1 .数据结构的说明(可以图示说明,也可以用文字说明)该程序主要基于选择菜单描述用于以main ()函数调用的六个自定义函数,在main ()中,用一个。
2、字符变量num1记录菜单选项的标签,并根据num1的值确定调用哪个函数。程序完成的功能和所使用的函数如下整个程序的流程图如下所示2 .算法的说明(函数的说明)void suanshuyunsuan() /算术运算时调用的函数选择一个继续调用void suanshuyunsuan2() /算术运算的函数,以确定上一次运算的结果是否继续下一次算术运算的第一个操作数/算术运算判断void panduan() /算术运算是否继续voidabiodashiyunsun()/单运算符表达式实现函数清除void qingping() /画面显示void fanhuicaidan() /菜单三、测试结果(这部。
3、分需要结合文字和图标)1 .第一组测试用例(1)测试输入:测试目的:测试算术运算的功能结果输出:(2)再输入: 1测试目的:测试算术运算是否可以继续结果输出:(3)此时输入: 0测试目的:结束算术运算结果输出:2 .第二组测试用例测试输入:测试目的:测试一元运算符表达式函数结果输出:3 .第三组测试用例测试输入: c测试目的:测试输入c是否能清除屏幕。测试输出:4 .第四组测试用例测试输入: r测试目的:测试返回菜单函数测试输出:5 .第五组测试用例测试输入: t测试目的:测试程序是否能正确结束。测试输出:附录:源代码(附加了所有源代码,不相同的雷电)#include#includewindo。
4、ws.h 双倍z; /定义全局变量以存储算术运算的上次结果/算术运算时调用的函数void suanshuyunsuan ()举止char fh、hh1、hh2; /hh1和hh2用于存储回车字符双数字1,数字2;printf (输入: );扫描( % lf % c % lf ,数字1,hh1,fh,hh2,num2);判断交换机(FH )/在做什么举止case :z=num1 num2; break;case -:z=num1-num2; break;case *:z=num1*num2; break;case /:z=num1/num2; break;以下printf (结果:= );打印(。
5、n % lfn ,z );以下选择继续调用/算术运算的函数,并将上一次运算的结果作为下一次算术运算的第一个操作数void suanshuyunsuan2()举止双数字1;叉烧;打印( % lfn ,z ); /首先输出上次算术运算的结果rewind(stdin )扫描( % c % lf ,fh,num1);交换机(PS )举止case :z=z num1; break;case -:z=z-num1; break;case *:z=z*num1; break;case /:z=z/num1; break;以下printf (结果:= );打印机(n % lfn ,z );以下/判断算术运算是。
6、否继续void panduan ()举止printf (要结束运算吗? n );printf (0.是 );printf (1.否 n );printf(0或1: );以下/单运算符表达式实现函数voidabiodashiyunsun ()举止int num1、num2、num3;柴胡;printf (输入: );扫描( % d % c % d ,数字1,fh,数字2 );printf (结果:= );交换机(PK )举止case :num3=num1 num2; break;case -:num3=num1-num2; break;case *:num3=num1*num2; break;c。
7、ase /:num3=num1/num2; break;以下printf(%d ,num3);以下/清除屏幕void清平()举止系统( cls );以下/显示菜单void fanhuicaidan ()举止打印(菜单n );printf(a .算术运算 n );printf(b .式运算 n );printf(c .清除屏幕并重新开始n );printf(r .返回菜单n );printf(t .退出程序n );以下void main ()举止char num1; /用于存储选定的菜单选项。PR; /存储是否继续算术运算的选项打印(菜单n ); /先显示菜单printf(a .算术运算 n )。
8、;printf(b .式运算 n );printf(c .清除屏幕并重新开始n );printf(r .返回菜单n );printf(t .退出程序n );while(1)举止清除rewind(stdin) /键盘缓冲区printf (npleasecheseoneletterfrom,b,c,r,and tn );扫描( % c ,num1); /输入用于判断选择了哪个菜单项的数量选择了if(num1=a) /算术运算举止suanshuyunsuan ();panduan ();扫描( % d ,pd );继续while(pd) /算术运算就循环了举止suanshuyunsuan2();panduan ();扫描( % d ,pd );以下以下选择了if(num1=b) /一元运算符式的运算biaodashiyunsuan ();清除if(num1=c) /屏幕清平();显示if(num1=r) /菜单范惠翠();if(num1=t) /结束程序break;以下以下。