C语言简单计算器的编写课程设计报告.doc

C语言简单计算器的编写课程设计报告.doc

ID:56594518

大小:175.50 KB

页数:16页

时间:2020-06-29

C语言简单计算器的编写课程设计报告.doc_第1页
C语言简单计算器的编写课程设计报告.doc_第2页
C语言简单计算器的编写课程设计报告.doc_第3页
C语言简单计算器的编写课程设计报告.doc_第4页
C语言简单计算器的编写课程设计报告.doc_第5页
资源描述:

《C语言简单计算器的编写课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学号2013-2014学年第二学期1308030134《高级语言程序设计》课程设计报告题目:简单计算器专业:数字媒体技术班级:13级1班:邢洪波指导教师:王辉成绩:计算机与信息工程系二0一四年二月二十日1设计容及要求1.1利用本学期所学的《C语言程序设计》课程,运用相关知识,查阅相关资料,编写C语言程序,设计一个简单计算器,要求编写的简单计算器能够模拟windows系统的计算器,用户能够用键盘输入相关数据,能够进行简单的加、减、乘、除运算,并且在程序运行过程中能够正常的退出程序。 在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过键盘上的退格键进行删除,并且重新输入正确的数据。

2、在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备。1.2运用相关知识,查阅相关资料,编写一个简单的计算器,能够实现简单的基本的加减乘除运算,在计算器工作时用户能利用键盘或鼠标进行相应操作。程序基本功能要现完整,并有简单的验证。程序还须有符合标准的程序设计报告。1概要设计2.1系统流程图输入第一个操作数加法减法乘法除法清零开方乘方显示结果输入第二个操作数结束开始2.1系统流程图2.2主要功能表2.2主要功能表序号文件名主要功能备注1+加法两个操作数2—减法两个操作数3*乘法两个操作数4/除法两个操作数5#开方一个操作数6^乘方两个操作数7

3、Enter等于8Tab清零9q退出1设计过程或程序代码#include#include#include/*malloc的头文件代表在存中开辟存储空间*/doublejisuan(chara[]){inti=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;/*定义整型变量i,j,k,m,n,cnt,t1,t2,t3*/charnibo[50],zhan2[50];/*定义字符型数组*/doublex,n,l,z=0,zhan3[50];/*定义双精度变量x,n,l,z,zhan3[50]*/typedefstruct/*表示可以

4、用con定义结构体变量*/{doubled1;intd2;}dd;typedefstruct{dddata[50];inttop;}zhan1;zhan1*shu;/*定义指针变量*/shu=(zhan1*)malloc(sizeof(zhan1));shu->top=0;while(a[i]!='')/*外循环是用while语句*/{if(a[i]>='0'&&a[i]<='9')/*循环使用if-else语句*/{z=0;j=i+1;while(a[j]>='0'&&a[j]<='9')/*循环使用各种循环语句的嵌套*/{j++;}j--;for(k=i;k<=j;k++){z=z

5、*10+a[k]-'0';}j=j+1;x=z;if(a[j]=='.'){l=1;i=j+1;j=i+1;while(a[j]>='0'&&a[j]<='9')/*循环使用各种循环语句的嵌套*/{j++;}j--;for(k=i;k<=j;k++){n=pow(0.1,l);l=l+1;x=x+n*(a[k]-'0');}i=j+1;}elsei=j;shu->data[++shu->top].d1=x;shu->data[shu->top].d2=++cnt;nibo[++t1]='0'+shu->data[shu->top].d2;nibo[t1+1]='';}elseif(a[

6、i]=='('){zhan2[++t2]=a[i];i++;}elseif(a[i]==')'){j=t2;while(zhan2[j]!='('){nibo[++t1]=zhan2[j];nibo[t1+1]='';j--;}t2=j-1;i++;}elseif(a[i]=='+')/*对加法的定义*/{while(t2>0&&zhan2[t2]!='(')/*定义当加号和括号同时出现时*/{nibo[++t1]=zhan2[t2];/*将zhan2[t2]赋给nibo[++t2]*/nibo[t1+1]='';t2--;}zhan2[++t2]=a[i];i++;}elseif

7、(a[i]=='-')/*对减法的定义*/{if(a[i-1]=='$'){a[0]='0';i=0;}elseif(a[i-1]=='('){a[i-1]='0';a[i-2]='(';i=i-2;t2--;}else{while(t2>0&&zhan2[t2]!='(')/*对括号的定义*/{nibo[++t1]=zhan2[t2];nibo[t1+1]='';t2--;}zhan2[++t2]=a[i];i++

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。