欢迎来到天天文库
浏览记录
ID:35617461
大小:1.03 MB
页数:18页
时间:2019-04-02
《数据结构课程设计--表达式计算程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计说明书课程名称:数据结构算法设计设计题目:表达式计算程序设计院系:计算机科学与信息工程系学生姓名:王康学号:200903020013专业班级:09计科嵌入2011年6月25日-16-课程设计任务书设计题目表达式计算程序设计学生姓名王康所在院系计算机科学与信息工程专业、年级、班09计科应用设计要求:设计一个能够计算表达式的程序,要求能够对包含加、减、乘、除、括号运算符的表达式进行计算。学生应完成的工作:1计算表达式手工录入,计算结果必须正确2支持两位以上的整数和浮点数的运算3运算符优先级表可在程序中直接通过代码初始化4能够检查表达式是否合法,对于错
2、误的表达式要能够给出错误原因。参考文献阅读:[1]严蔚敏,吴伟民,数据结构(C语言版).北京:清华大学出版社,2007工作计划:1、第一周的第一天:小组布置设计题目;说明进度安排。2、第一周的第二天:小组审题,查阅资料,进行设计前的必要资料准备。3、第一周的第三天、第四天、第五天:程序编写、上机调试4、第二周的第一天至第三天:上机调试程序、结果分析。5、第二周的第四天:撰写设计报告。6、第二周的第五天:设计答辩及成绩评定。任务下达日期:2011年06月13日任务完成日期:2011年06月25日指导教师(签名):学生(签名):王康-16-表达式计算程序设计
3、摘要:设计一个能够计算表达式的程序,要求能够对包含加、减、乘、除、括号运算符的表达式进行计算。1计算表达式手工录入,计算结果必须正确2支持两位以上的整数和浮点数的运算3运算符优先级表可在程序中直接通过代码初始化4能够检查表达式是否合法,对于错误的表达式要能够给出错误原因。关键词:栈后序表达式元素移动-16-目录1设计背景……………………………………………………31.1数据结构算法设计…………………………………………31.2知识运用………………………………………………32设计方案……………………………………………………43方案实施…………………………………
4、…………………43.1几个主要函数的解析………………………………………………44结果与结论……………………………………………………114.1结构与结论分析……………………………………………………115收获与致谢……………………………………………………156参考文献………………………………………………………157附件……………………………………………………………158指导教师评语…………………………………………………16-16-1.设计背景1.1数据结构算法设计1计算表达式手工录入,计算结果必须正确2支持两位以上的整数和浮点数的运算3运算符优先级表可在程序
5、中直接通过代码初始化4能够检查表达式是否合法,对于错误的表达式要能够给出错误原因。1.2知识运用学完数据结构,充分利用所学知识,完成表达式程序设计2.设计方案2.1程序算法设计背景及方案核心思路1充分运用栈的思想和好处,即:先进后出的特点2灵活的将表达式变形,一般的表达式都是运算符在两个操作数之间,如果将一般的表达式转化为运算符在两个操作数之间将会更好地处理一个字符数组表达式(形如5+6处理成56+)这也是本程序设计核心思路.3.方案实施3.1方案实施步骤几个主要函数的解析Checkfuncion(charc[80])-16-检查表达式是否正确,括号匹配
6、问题,四则运算符号是否多输入问题检查运算过程中除数是否为0等等函数示例:intCheckfuncion(charc[80])//检查运算符,括号匹配是否出错{floate;inti=0,add=0,dec=0,mul=0,div=0,Lbracket=0,Rbracket=0;SqStackOPTR3;InitStack(OPTR3);while(c[i]!=' '){switch(c[i]){case'(':Push(OPTR3,c[i]);break;case')':{if(i==0){printf("**报错:你在第一个位置输入了')',违法!
7、n**");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;-16-case'-':dec++;break;case'*':mul++;brea
8、k;case'/':div++;break;default:break;}Pus
此文档下载收益归作者所有