- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
…………
装
…………………..…………..
通达学院算法与数据结构设计报告
(2014/2015学年第二学期)
订
………………..………
题目:模拟简单计算器
线
…………….
目录
一、课题内容和要求.
二、需求分析.
三、概要设计.
1设计理念
2.子函数功能
3.函数的调用
四、详细设计.
五、测试及结果分析.
加法测试
减法测试
乘法测试
除法测试
混合运算
六、调试过程中的问题.
七、课程设计总结.
一、课题内容和要求
利用所学的数据结构的基本知识,设计一个计算器(90)
输入:带有括号、+,-,X,/的表达式;
输出:运算结果
实例:输入:(4*3-(2+1))*2
输出:18
要求:
1)对不合法输入进行检测并提示;
2)对合法输入求出正确解;
二、需求分析
本程序主要是采用栈的理论知识,主要用到两个结构体栈,一个
用来转化表达式,一个用来计算表达式。
三、概要设计
1设计理念
首先,用一个字符数组来存储用户输入的中缀表达式。然后用栈
来把这个表达式转化为后缀表达式,转化时要进行符号优先级比较,
这里将‘*’‘/’的优先级定为2,‘+’‘-’定为1,括号和‘=’定
为0。具体思想如下:例如用户输入了1+2*3=,将其存放入一个字符
数组中。先在栈的底部存放一个‘=’号符,用作符号优先级比较。
首先将1存放到另外一个字符数组s1中,再将‘+’号入栈。入栈的
同时与底部的‘=’比较优先级,‘+’的优先级高于‘=’,所以不出
栈,之后将2存放入s2中,然后再将‘*’入栈,入栈的同时与‘+’
1
比较符号优先级,‘*’比‘+’高,所以不出栈。再将3存入s2中。
之后将栈中不是‘=’的运算符都弹出栈,并依次存入s2中。所以
s2中的表达式为123*+。之后进行计算,计算时用到浮点栈。首先将
s2中的字符依次入栈,遇到运算符时进行计算。所以将123入栈后,
再将‘*’入栈的同时,将前面两个数字进行运算,算出结果为6并
存入栈中,之后再将‘+’入栈,再与1进行运算,结果即为7,然
后输出结果。
2.子函数功能
pseqstack1init_seqstack1(void)
{
pseqstack1S;
S=(pseqstack1)malloc(sizeof(pseqstack1));
if(S)
S-top1=-1;
returnS;
}初始化栈
intempty_seqstack1(pseqstack1S)
{
if(S-top1==-1)
return1;
else
return0;
}
2
判断栈是否为空
intpush_seqstack1(pseqstack1S,datatype1X
进栈
intpop_seqstack1(pseqstack1S,datatype1*X)
出栈
intGetTop(seqstack*s)
您可能关注的文档
- 小学二年级《作息时间表》教学设计(通用6篇).pdf
- 急性胃肠炎 病情说明指导书.pdf
- 线性规划模型在运输问题中的应用分析.pdf
- 五年级数学(上)总复习——解决问题(建议可以只列式不计算).pdf
- 实验小学“教育质量月”活动方案.pdf
- Brand-Leadership品牌战略大学毕业论文外文文献翻译及原文.pdf
- 叽里呱啦级别1-级别6英语单词汇总.pdf
- 语文仿写句子专项练习(附答案).pdf
- GB/T 5132.3-2024电气用热固性树脂工业硬质圆形层压管和棒 第3部分:圆形层压卷制管.pdf
- 中国国家标准 GB/T 5132.3-2024电气用热固性树脂工业硬质圆形层压管和棒 第3部分:圆形层压卷制管.pdf
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)