数据结构课程设计-模拟计算器程序.docVIP

  • 504
  • 2
  • 约1.79万字
  • 约 32页
  • 2018-06-30 发布于上海
  • 举报
第 PAGE 4 页 共 NUMPAGES 31 页数据结构课程设计题目名称:模拟计算器程序 计算机科学与技术学院课程设计任务书设计任务设计一个模拟计算器的程序设计要求要求对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解2、程序基本功能要求实现完整,并有简单的验证。3、设计报告要求格式规范,符合学校课程设计报告要求。4、报告中流程图要求描述规范,算法设计清楚正确。 设计期限2018年3月5日到2018年3月30日前言利用本学期所学的《数据结构》课程,运用相关知识,查阅相关资料,编写C语言程序,设计一个简单计算器,要求编写的简单计算器能够模拟windows系统的计算器,用户能够用键盘输入相关数据,要求对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解,并且在程序运行过程中能够正常的退出程序。这个程序实际上就是对一个表达式进行计算。而一个算术表达式中包含各种运算符,每个运算符的等级可能会不同,这就成了本程序需要解决的一个主要的问题之一了。另外计算器中需要有各种数学函数,比如:abs sqrt sin cos tan等,如何对这些函数进行处理,也是本程序能成功的一个关键。还有一个问题就是如何处理操作符和操作数之间的关系也是一个要点。例如:1+2*(3-2/1),经过怎么样的变换和处理能得出结果5。数据的输入这里应该要用字符,然后通过字符和整形之间的关系进行转换即可,这样处理的话,就方便很多了。在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过键盘上的退格键进行删除,并且重新输入正确的数据。在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备。本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。目录第1章 需求分析 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 5 1.1 系统设计流程图 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 5 1.2 主要功能表‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 6第2章 总体设计 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 7 2.1 数据结构的选择‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 7 2.2 程序实现流程图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 8第3章 详细设计和编码‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 9 表达式的判断‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 10 3.2 栈的定义及存储‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 113.3 表达式的嵌套处理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 143.4 中缀表达式转化为后缀表达式‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 14第 4章 编码与调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 17 4.1 系统测试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 17 4.2 调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 17 4.3错误原因分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 17 4.4 调试结果‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 19第 5章 总结 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 21参考文献 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 22 附录 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 23第1章 需求分析1.1系统流程图本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。利用两个“栈”,一个“数据栈”,一个“运算符栈”来把中缀表达式转换成后缀表达式。最后利用后缀表达式来求解表达式的值。该算法的复杂度为O(n),能够高效、快速地求解表达式的值,提高用户的效率。本次课程设计为计算器模拟程序,主要解决表达式计算的问题,实现分别按表达式处理的过程分解为几个子过程,详细的求解过程如下:1?、用户输入表达式。2?、判定表达式是否合法。3?、把中缀表达式转化为后缀表达式。4?、求出后缀表达式

文档评论(0)

1亿VIP精品文档

相关文档