用c语言编写计算器计划报告书
c语言简易计算器设计报告 制作者:软件132赵文琪 ◆一:算法 本程序用了if...else语句进行选择,以判断该进行何种运算。程序中含有if...else的套用。 ◆二:流程图 ◆三:源代码 #include voidmain(){ floata,b; charcOperator; floatx; printf("请输入运算式:\n"); scanf("%f%c%f",&a,&cOperator,&b);if(cOperator=='+') x=(a+b); elseif(cOperator=='-') x=(a-b); elseif(cOperator=='*') x=(a*b); elseif(cOperator=='/') x=(a/b); elseprintf("符号输入错误!\n");printf("%f%c%f",a,cOperator,b);printf("=%f\n",x); } ◆四:运行测试 ①1+1=2; ②2-1=1; ③2*2=4; ④1/2=; End xxxx大学信息科学与工程学院 课程设计报告 班级:姓名:实验项目名称: 实验室(中心):指导教师: 实验完成时间: 通信工程一班 xxx 简易计算器信息科学与工程学院信息技术实验室 xxxXX年6月19日 目录 一:课程设计题目.............................................................................3二:功能描述....................................................................................3三:概要设计....................................................................................4四:详细设计....................................................................................5五:测试结果及存在的问题...............................................................9六:课程设计心得体会....................................................................12七:附录..........................................................................................12 一、题目: 简易计算器设计 二、功能描述: 此简易计算器根据算符优先算法原则可以计算由“+,-,*,/,” 组成的任意算术表达式的值。其中此程序中包含对负数和字符数据转换功能。 如:-9+*9/8-5)/(-3); 三、概要设计: 根据算符优先算法设计将函数功能模块分布如下: 利用结构体数组中脚码的变换达到符号和数据进栈和出栈的目的。 (Translate). (0-负数)形 (Can). :完成数据转换和运算符 比较. 四、详细设计: 各功能模块的实现过程如下: 1:栈的应用: 通过运用结构体数组中top值的改变来达到数据进栈和出栈的目的,而栈的初始化 只需将top的初始值赋为-1即可; 2: 算法说明: 函数中,先扫描数组,若s[0]=‘-’,则将数组的所有元素向后移一位且首位赋值为‘0’,若数组首位之后含有形如(-5)则将负号及其以后的元素全向后移一位且负号位置赋值为‘0’,然后返回新的数组; #include #include #include doublejisuan(chara[]) { inti=1,j,k,m,cnt=0,t1=0,t2=0,t3=0; charnibo[50],zhan2[50]; doublex,n,l,z=0,zhan3[50]; typedefstruct { doubled1; intd2; }dd; typedefstruct { dddata[50]; inttop; }zhan1; zhan1*shu; shu=(zhan1*)malloc