C语言课程设计 简单计算器程序资料

C语言课程设计 简单计算器程序资料

ID:39703352

大小:215.05 KB

页数:24页

时间:2019-07-09

C语言课程设计  简单计算器程序资料_第1页
C语言课程设计  简单计算器程序资料_第2页
C语言课程设计  简单计算器程序资料_第3页
C语言课程设计  简单计算器程序资料_第4页
C语言课程设计  简单计算器程序资料_第5页
资源描述:

《C语言课程设计 简单计算器程序资料》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计名称:C语言课程设计课程设计题目:简单计算器程序目录第1章需求分析11.1设计要求11.2任务1第2章总体设计22.1设计简介及设计方案论述22.2功能模块层次图2第3章详细设计33.3由(后缀)逆波兰表达式计算中缀表达式原理83.3.1算法描述8第4章调试分析104.1程序设计中所遇到的错误及犯错的原因104.2错误的解决方法10第5章用户手册11总结15参考文献16附录(程序清单)17第1章需求分析1.1设计要求(1)用C语言数据结构实现程序设计;(2)利用结构体、栈、进行相关信息处理;(2)系统的各个功能模块要求用函数的形式实现;(4)界面简单,可操作性高。1.2任务(1)定义

2、一个结构体类型数组,输入0~9及+、--、*等符号的信息,将其信息存储起来;(2)输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和计算结果;(3)编写代码;(4)程序分析与调试。说明:本课程设计将实现一个简单计算器。在功能上尽量模仿windows的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。-21-第2

3、章总体设计2.1设计简介及设计方案论述逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表达式。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表达式。后缀表达式的优点是显而易见的,编译器在处理时候按照从左至右的顺序读取逆波兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实际编程的时候就会体会到它的好处

4、了。逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运算级别的特殊处理。简单计算器2.2功能模块层次图求值计算系统表达式格式转换系统将算术表达式转化为逆波兰表达式计算逆波兰表达式的值-21-第3章详细设计3.1栈的定义与使用首先定义两个栈,一个字符型,一个双精度型,程序代码如下:Struct{chardata[MaxSize];//存放表达式的字符数组inttop;//栈顶指针}Sym;/*符号*///作为存放运算表达式的栈使用struct{doubledata[MaxSize];//存放运算结

5、果的数组inttop;//栈顶指针}Num;/*数*/存储逆波兰表达式(后缀式)计算器的运算数//作为存放运算结果的栈使用voidInitStack(){Sym.top=Num.top=-1;}//栈的初始化voidSymPush()//压栈{if(Sym.top=0){expr[++t]=Sym.data[Sym.top--];}else{printf("Sym栈空");re

6、turn;}}voidNumPush()//压栈{If(Num.top=0){if(expr[i]!=''){switch(expr[i]){-21-case'+':Num.data[Num.top-1]=Num.data[Num.top-1]+Num.data[Num.top];break;case'-':Num.data[Num.top-1]

7、=Num.data[Num.top-1]-Num.data[Num.top];break;case'*':Num.data[Num.top-1]=Num.data[Num.top-1]*Num.data[Num.top];break;case'/':Num.data[Num.top-1]=Num.data[Num.top-1]/Num.data[Num.top];break;}Num.top--;}}else

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

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

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