数据结构课程设计-表达式计算程序设计

数据结构课程设计-表达式计算程序设计

ID:6789197

大小:263.00 KB

页数:10页

时间:2018-01-25

数据结构课程设计-表达式计算程序设计_第1页
数据结构课程设计-表达式计算程序设计_第2页
数据结构课程设计-表达式计算程序设计_第3页
数据结构课程设计-表达式计算程序设计_第4页
数据结构课程设计-表达式计算程序设计_第5页
资源描述:

《数据结构课程设计-表达式计算程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程设计任务书设计题目表达式计算程序设计设计要求:设计一个能够计算表达式的程序,要求能够对包含加、减、乘、除、括号运算符的表达式进行计算。学生应完成的工作:1计算表达式手工录入,计算结果必须正确2支持两位以上的整数和浮点数的运算3运算符优先级表可在程序中直接通过代码初始化4能够检查表达式是否合法,对于错误的表达式要能够给出错误原因。参考文献阅读:[1]严蔚敏,吴伟民,数据结构(C语言版).北京:清华大学出版社,2007工作计划:1、第一周的第一天:小组布置设计题目;说明进度安排。2、第一周的第二天:小组审题,查阅资料,进行设计前的必要资料准备。3、第一周的第三天、

2、第四天、第五天:程序编写、上机调试4、第二周的第一天至第三天:上机调试程序、结果分析。5、第二周的第四天:撰写设计报告。6、第二周的第五天:设计答辩及成绩评定。任务下达日期:2016年06月10日任务完成日期:2016年06月25日指导教师(签名):学生(签名):-9-目录1设计背景……………………………………………………31.1数据结构算法设计…………………………………………31.2知识运用………………………………………………32设计方案……………………………………………………43方案实施……………………………………………………43.1几个主要函数的解析…………

3、……………………………………44结果与结论……………………………………………………114.1结构与结论分析……………………………………………………115收获与致谢……………………………………………………156参考文献………………………………………………………157附件……………………………………………………………158指导教师评语…………………………………………………16-9-1.设计背景1.1数据结构算法设计1.2知识运用2.设计方案2.1程序算法设计背景及方案核心思路3.方案实施3.1方案实施步骤几个主要函数的解析(以下作为参考)Checkfuncion(ch

4、arc[80])检查表达式是否正确,括号匹配问题,四则运算符号是否多输入问题检查运算过程中除数是否为0等等函数示例:intCheckfuncion(charc[80])//检查运算符,括号匹配是否出错{floate;inti=0,add=0,dec=0,mul=0,div=0,Lbracket=0,Rbracket=0;SqStackOPTR3;-9-InitStack(OPTR3);while(c[i]!=''){switch(c[i]){case'(':Push(OPTR3,c[i]);break;case')':{if(i==0){printf("**报

5、错:你在第一个位置输入了')',违法!**");Rbracket++;returnERROR;}if(i!=0){while(GetTop(OPTR3)!='('&&!StackEmpty(OPTR3)){Pop(OPTR3,e);}}if(StackEmpty(OPTR3))Rbracket++;elsePop(OPTR3,e);break;}case'+':case'-':case'*':case'/':{if(c[i-1]==c[i])switch(c[i]){case'+':add++;break;case'-':dec++;break;case'*'

6、:mul++;break;case'/':div++;break;default:break;}Push(OPTR3,c[i]);break;}default:break;-9-}i++;}while(!StackEmpty(OPTR3)){Pop(OPTR3,e);if(e=='(')Lbracket++;}if(add>0

7、

8、dec>0

9、

10、mul>0

11、

12、div>0

13、

14、Lbracket>0

15、

16、Rbracket>0){printf("

17、***最终报错:多输入了");if(Lbracket>0)printf("%d个(",Lbracket);if(Rbracket>

18、0)printf("%d个)",Rbracket);if(add>0)printf("%d个+",add);if(dec>0)printf("%d个-",dec);if(mul>0)printf("%d个*",mul);if(div>0)printf("%d个(",div);printf("***

19、");printf("

20、********************************************

21、");printf("+++请重新再输入一个表达式:+++");printf("

22、*******************************

23、*****

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

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

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