数据结构与算法课程设计13002918说课.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
…………………………………………………………………………装…………………………………………………..…………………………..订………………………………………………………………..………线……………………………………………………………. 通达学院算法与数据结构设计报告 ( 2014/2015学年 第 二 学期 ) 题 目: 模拟简单计算器 专 业 物联网工程 学 生 姓 名 汤 勇 班 级 学 号 指 导 教 师 余亮 指 导 单 位 通达学院 日 期 2015年4月10日 目录  TOC \o 1-3 \h \z \u  HYPERLINK \l _Toc416364461 一、课题内容和要求  PAGEREF _Toc416364461 \h 1  HYPERLINK \l _Toc416364462 二、需求分析  PAGEREF _Toc416364462 \h 1  HYPERLINK \l _Toc416364463 三、概要设计  PAGEREF _Toc416364463 \h 1  HYPERLINK \l _Toc416364464 1设计理念  PAGEREF _Toc416364464 \h 1  HYPERLINK \l _Toc416364465 2.子函数功能  PAGEREF _Toc416364465 \h 2  HYPERLINK \l _Toc416364466 3.函数的调用  PAGEREF _Toc416364466 \h 4  HYPERLINK \l _Toc416364467 四、详细设计  PAGEREF _Toc416364467 \h 4  HYPERLINK \l _Toc416364468 五、测试及结果分析  PAGEREF _Toc416364468 \h 11  HYPERLINK \l _Toc416364469 加法测试  PAGEREF _Toc416364469 \h 11  HYPERLINK \l _Toc416364470 减法测试  PAGEREF _Toc416364470 \h 11  HYPERLINK \l _Toc416364471 乘法测试  PAGEREF _Toc416364471 \h 12  HYPERLINK \l _Toc416364472 除法测试  PAGEREF _Toc416364472 \h 12  HYPERLINK \l _Toc416364473 混合运算  PAGEREF _Toc416364473 \h 13  HYPERLINK \l _Toc416364474 六、调试过程中的问题  PAGEREF _Toc416364474 \h 13  HYPERLINK \l _Toc416364475 七、课程设计总结  PAGEREF _Toc416364475 \h 15  PAGE \* MERGEFORMAT15 一、课题内容和要求 利用所学的数据结构的基本知识,设计一个计算器(90) 输入:带有括号、+,-,X,/ 的表达式; 输出:运算结果 实例:输入:(4*3-(2+1))*2 输出: 18 要求: 1)对不合法输入进行检测并提示; 2)对合法输入求出正确解; 二、需求分析 本程序主要是采用栈的理论知识,主要用到两个结构体栈,一个用来转化表达式,一个用来计算表达式。 三、概要设计 1设计理念 首先,用一个字符数组来存储用户输入的中缀表达式。然后用栈来把这个表达式转化为后缀表达式,转化时要进行符号优先级比较,这里将‘*’‘/’的优先级定为2,‘+’‘-’定为1,括号和‘=’定为0。具体思想如下:例如用户输入了1+2*3=,将其存放入一个字符数组中。先在栈的底部存放一个‘=’号符,用作符号优先级比较。首先将1存放到另外一个字符数组s1中,再将‘+’号入栈。入栈的同时与底部的‘=’比较优先级,‘+’的优先级高于‘=’,所以不出栈,之后将2存放入s2中,然后再将‘*’入栈,入栈的同时与‘+’比较符号优先级,‘*’比‘+’高,所以不出栈。再将3存入s2中。之后将栈中不是‘=’的运算符都弹出栈,并依

您可能关注的文档

文档评论(0)

阿里山的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档