欢迎来到天天文库
浏览记录
ID:56801853
大小:318.00 KB
页数:31页
时间:2020-07-12
《数据结构课程设计 模拟计算器程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据结构课程设计题目名称:模拟计算器程序计算机科学与技术学院课程设计任务书一、设计任务设计一个模拟计算器的程序二、设计要求1、要求对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解2、程序基本功能要求实现完整,并有简单的验证。3、设计报告要求格式规范,符合学校课程设计报告要求。4、报告中流程图要求描述规范,算法设计清楚正确。一、设计期限2018年3月5日到2018年3月30日前言利用本学期所学的《数据结构》课程,运用相关知识,查阅相关资料,编写C语言程序,设计一个简单计算器,要求编写的简单计算器能够模拟windows系统的计算器,用户能够用键盘输入相
2、关数据,要求对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解,并且在程序运行过程中能够正常的退出程序。这个程序实际上就是对一个表达式进行计算。而一个算术表达式中包含各种运算符,每个运算符的等级可能会不同,这就成了本程序需要解决的一个主要的问题之一了。另外计算器中需要有各种数学函数,比如:abssqrtsincostan等,如何对这些函数进行处理,也是本程序能成功的一个关键。还有一个问题就是如何处理操作符和操作数之间的关系也是一个要点。例如:1+2*(3-2/1),经过怎么样的变换和处理能得出结果5。数据的输入这里应该要用字符,然后通过字符和整形之间
3、的关系进行转换即可,这样处理的话,就方便很多了。在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过键盘上的退格键进行删除,并且重新输入正确的数据。在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备。本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。目录第1章需求分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥51.1
4、系统设计流程图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥51.2主要功能表‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥6第2章总体设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥72.1数据结构的选择‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥72.2程序实现流程图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥8第3章详细设计和编码‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥93.1表达式的判断‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥103.2栈的定义及存储‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥113.3表达式的嵌套处理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥143.4中缀表达式转化为后缀表
5、达式‥‥‥‥‥‥‥‥‥‥‥‥‥‥14第4章编码与调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥174.1系统测试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥174.2调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥174.3错误原因分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥174.4调试结果‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥19第5章总结‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21参考文献‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥22附录‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥23第1章需求分析1.1系统
6、流程图本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。利用两个“栈”,一个“数据栈”,一个“运算符栈”来把中缀表达式转换成后缀表达式。最后利用后缀表达式来求解表达式的值。该算法的复杂度为O(n),能够高效、快速地求解表达式的值,提高用户的效率。本次课程设计为计算器模拟程序,主要解决表达式计算的问题,实现分别按表达式处理的过程分解为几个子过程,详细的求解过程如下:1 、用户输入
7、表达式。2 、判定表达式是否合法。3 、把中缀表达式转化为后缀表达式。4 、求出后缀表达式的结果。5 、输出表达式的结果。通过设计该程序,从而做到方便的求出一个表达式的值,而不需要一步一步进行运算。输入第一个操作数加法减法乘法除法清零ABSSQRT显示结果输入第二个操作数结束开始1.1系统设计流程图1.2主要功能表序号文件名主要功能备注1+加法两个操作数2-减法两个操作数3*乘法两个操作数4/除法两个操作数5aqrt开方一个操作数6abs绝对值一个操作数7Enter等于8Tab清零90退出除了实现基本
此文档下载收益归作者所有