数据结构表达式计算程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构表达式计算程序设计

课 程 设 计 任 务 书 设计题目 表达式计算程序设计 设计要求: 设计一个能够计算表达式的程序,要求能够对包含加、减、乘、除、括号运算符的表达式进行计算。 学生应完成的工作: 1计算表达式手工录入,计算结果必须正确 2支持两位以上的整数和浮点数的运算 3运算符优先级表可在程序中直接通过代码初始化 4能够检查表达式是否合法,对于错误的表达式要能够给出错误原因。 参考文献阅读: [1] 严蔚敏,吴伟民,数据结构(C语言版).北京:清华大学出版社,2007 工作计划: 1、第一周的第一天:小组布置设计题目;说明进度安排。 2、第一周的第二天:小组审题,查阅资料,进行设计前的必要资料准备。 3、第一周的第三天、第四天、第五天:程序编写、上机调试 4、第二周的第一天至第三天: 上机调试程序、结果分析。 5、第二周的第四天: 撰写设计报告。 6、第二周的第五天: 设计答辩及成绩评定。 任务下达日期: 2016 年 06 月 10 日 任务完成日期: 2016 年 06 月 25 日 指导教师(签名): 学生(签名): 目 录 1设计背景…………………………………………………… 3 1.1数据结构算法设计………………………………………… 3 1.2知识运用 ……………………………………………… 3 2设计方案 …………………………………………………… 4 3方案实施…………………………………………………… 4 3.1 几个主要函数的解析……………………………………………… 4 4结果与结论…………………………………………………… 11 4.1结构与结论分析…………………………………………………… 11 5 收获与致谢…………………………………………………… 15 6 参考文献……………………………………………………… 15 7 附件…………………………………………………………… 15 8 指导教师评语………………………………………………… 16 1. 设计背景 1.1 数据结构算法设计 1.2知识运用 2.设计方案 2.1程序算法设计背景及方案核心思路 3. 方案实施 3.1方案实施步骤几个主要函数的解析 (以下作为参考) Checkfuncion(char c[80]) 检查表达式是否正确,括号匹配问题,四则运算符号是否多输入问题 检查运算过程中除数是否为0等等 函数示例: int Checkfuncion(char c[80])//检查运算符,括号匹配是否出错 { float e; int i=0,add=0,dec=0,mul=0,div=0,Lbracket=0,Rbracket=0; SqStack OPTR3; InitStack(OPTR3); while(c[i]!=\0) { switch(c[i]) { case (: Push(OPTR3,c[i]);break; case ): { if(i==0) { printf(** 报错: 你在第一个位置输入了),违法!\n **); Rbracket++; return ERROR; } if(i!=0) { while(GetTop(OPTR3)!=(!StackEmpty(OPTR3)) { Pop(OPTR3,e); } } if(StackEmpty(OPTR3)) Rbracket++; else Pop(OPTR3,e); break; } case +: case -: case *: case /: { if(c[i-1]==c[i]) switch(c[i]) { case +: add++;break; case-: dec++;break; case *: mul++;break; case /: div++;break; default : break; } Push(OPTR3,c[i]); break; } default : break; } i++; } while(!StackEmpty(OPTR3)) { Pop(OP

文档评论(0)

2017meng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档