C语言课程设计简单计算器程序 .pdf
课程设计名称:C语言课程设计
课程设计题目:简单计算器程序
目录
第1章需求分析0.
设计要求0.
任务0.
第2章总体设计1.
设计简介及设计方案论述1...
功能模块层次图1...
第3章详细设计2.
由(后缀)逆波兰表达式计算中缀表达式原理4..
算法描述5.
第4章调试分析7.
程序设计中所遇到的错误及犯错的原因7..
错误的解决方法7...
第5章用户手册8.
总结
1..1
..
参考文献
1..2
..
附录(程序清单)
1..2
.
第1章需求分析
设计要求
1C
()用语言数据结构实现程序设计;
2
()利用结构体、栈、进行相关信息处理;
24
()系统的各个功能模块要求用函数的形式实现;()界面简单,可操作性高。
任务
10~9+--*
()定义一个结构体类型数组,输入及、、等符号的信息,将其信息存储
起来;
2
()输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和
计算结果;
3
()编写代码;
4
()程序分析与调试。
说明:
本课程设计将实现一个简单计算器。在功能上尽量模仿windows的计算器。系
+-*/.
统界面不做牵制要求。该程序能实现标准型中、、、、(、)、、的混合运算表达式
(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结
果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结
果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
第2章总体设计
设计简介及设计方案论述
逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的
两个运算对象之间,所以,这种表示法也称为中缀表达式。波兰逻辑学家于1929年提出了
另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表达
式。
后缀表达式的优点是显而易见的,编译器在处理时候按照从左至右的顺序读取逆波兰表
达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这
个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最
左面一定为数字,这一点在实际编程的时候就会体会到它的好处了。逆波兰表达式有一个
更大的优点,就是拆括号,根据运算符的级别将中缀表达式转换成逆波兰表达式后,运算
顺序就已经替代了运算符的级别,这样也避免了括号提高运算级别的特殊处理。
功能模块层次图
将算术表达式转化为逆波兰表达式计算逆波兰表达式的值
第3章详细设计
栈的定义与使用
首先定义两个栈,一个字符型,一个双精度型,程序代码如下
Struct
{
chardata[MaxSize];
{
*p=++j;
while(x[j]=0x[j]=9)
{