算术表达式的求解数据结构课程设计说明书.doc
《算术表达式的求解数据结构课程设计说明书.doc》由会员分享,可在线阅读,更多相关《算术表达式的求解数据结构课程设计说明书.doc(17页珍藏版)》请在三一办公上搜索。
1、中北大学数 据 结 构课 程 设 计 说 明 书学生姓名:张蓓学 号:1021011602学 院:软件学院专 业:软件工程题 目:算术表达式的求解指导教师何志英2011年12月20日1. 设计任务概述(包括系统总体框图及功能描述) 利用栈结构,求解用户正确输入的算术表达式,并实现保存、读取、清除功能,且对用户输入的错误信息进行提示,重新输入.按下”Q”键表达式错误表达式正确按下”S”键按下”R”键按下”E”键 求解算术表达式系统输入算术表达式 判断表达式 是否正确求解运算,得到结果提示错误,重新输入按下“N”键按下“Y”键退出?(Y/N)退出运算系统读取刚才保存的得数保存得数按下“Q”键2.
2、本设计所采用的数据结构(如:链表、栈、树、图等)本设计采用了栈结构,创建了两个栈,一个压入数字,另一个压入符号。3. 功能模块详细设计3.1 详细设计思想求解表达式的主要思想是创建两个栈,一个是符号栈,另一个是数字栈。符号栈关键是运算优先顺序,数字栈关键是多位数与小数的计算。本程序设计了四个模块,第一个模块double result(double num1,char op,double num2),主要目的是进行加减乘除运算的操作方法,num1与num2的关系;第二个模块int compute(char str),主要目的是对用户输入的算术表达式进行求解,其中对多位数与小数进行了定义与数值计算
3、,以及带括号的表达式运算的优先顺序;第三个模块void face(),主要目的是设计用户主界面;第四个模块是主函数,主要目的是将上述模块集中运用,进行求解。至此完成利用栈结构求解表达式运算。3.2 核心代码调用的库函数:#include #include #include #include #include 自己定义的函数:1) double result(double num1,char op,double num2) 进行加减乘除运算2) int compute(char str) 对用户输入的算术表达式进行求解3) void face() 用户主界面4) main() 主函数核心定义函数
4、设计:int compute(char str) double num=0; int i=0,j=1,k=1; int Flag=0; numTop=opTop=0; while(stri!=0|opTop0) if(stri=0&stri0&!op(stri-1)&stri!=(&stri-1!=) numStacknumTop+=num*k; num=0; j=1; Flag=0; k=1; if(opTop=0|stri=() opStackopTop+=stri; else if(stri=) while(opTop0&opStack-opTop!=() numStacknumTop-
5、2=result(numStacknumTop-2,opStackopTop,numStacknumTop-1); numTop-; if(opStackopTop!=() return 0; else if(stri=0&numTop=0) return 0; while(opTop0&op(stri)=op(opStackopTop-1) numStacknumTop-2=result(numStacknumTop-2,opStack-opTop,numStacknumTop-1); numTop-; if(stri!=0) opStackopTop+=stri; if(stri!=0)
6、i+; if(numTop!=1|opTop!=0) return 0; return 1; 3.3 程序运行结果(拷屏)1 运行程序,打开程序界面 2 用户正确输入算术表达式的值 3 如果在输入过程中出现错误,例如,出现两个乘号,按c键清除 4 清除后5 正确输入算术表达式后按e得到正确结果6 按s键保存所得到的结果7 按r读出被保存的数据8 按q退出程序9 按Y退出4. 课程设计心得、存在问题及解决方法通过本次课程设计,我巩固了栈的建立,入栈,出栈的操作,提高了发现问题进而解决问题的能力,深化了数据结构的基本知识,并进行了拓展实践。最终,加强了程序设计的能力,并且能够有条理的安排各个函数的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算术 表达式 求解 数据结构 课程设计 说明书
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2396914.html