简易计算器(栈)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:制作:薛岭张建柳晨郭丰睿王垠翔井有龙PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:设计要求:编写程序,要求可对一实数算术表达式进行简单的数学运算。可以识别带加减乘除等运算符及括号的中缀表达式。a.按照四则运算规则,求表达式的值。一般规则如下:1)先括号内,再括号外。2)先乘方,再乘除,后加减。b.同级运算从左到右顺序执行。c.如表达式有误,应给出相应的提示信息。PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:设计与实现:使用两个顺序栈分别储存输入的数字和运算符号,设置栈内外的运算级别,然后将栈内元素取出并计算,并且判断表达式是否正确,最后得出结果或者提示表达式错误。PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:函数概况:定义两个类:classsave1{public:floatn[1000];inttop;}s1;//存储数字intOut(charx)//设置栈外运算优先级别{if(x=='-'||x=='+')return1;if(x=='*'||x=='/')return3;if(x=='^')return6;if(x=='(')return7;if(x==')')return0;return-1;}intOut(charx)//设置栈外运算优先级别{if(x=='-'||x=='+')return1;if(x=='*'||x=='/')return3;if(x=='^')return6;if(x=='(')return7;if(x==')')return0;return-1;}classsave2{public:charn[1000];inttop;}s2;//存储运算符号PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:设置运算优先级别的函数:intIn(charx)//设置栈内运算优先级别{if(x=='-'||x=='+')return2;if(x=='*'||x=='/')return4;if(x=='^')return5;if(x=='(')return0;if(x==')')return7;return-1;}intOut(charx)//设置栈外运算优先级别{if(x=='-'||x=='+')return1;if(x=='*'||x=='/')return3;if(x=='^')return6;if(x=='(')return7;if(x==')')return0;return-1;}intOut(charx)//设置栈外运算优先级别{if(x=='-'||x=='+')return1;if(x=='*'||x=='/')return3;if(x=='^')return6;if(x=='(')return7;if(x==')')return0;return-1;}intOut(charx)//设置栈外运算优先级别{if(x=='-'||x=='+')return1;if(x=='*'||x=='/')return3;if(x=='^')return6;if(x=='(')return7;if(x==')')return0;return-1;}PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:判断栈是否为空的函数:boolIsempty(save1s)//判断栈是否为空{if(s.top==-1)return1;elsereturn0;}PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:入栈函数:出栈函数:voidPush(save1&s,floatx)//将x压入栈中{if(s.top==999){cout栈满endl;return;}s.top++;s.n[s.top]=x;}boolPop(save1&s,float&x)//将栈顶元素取出,存到x中{intw=0;if(s.top==-1){cout表达式有误endl;w=1;}else{x=s.n[s.top];s.top--;}}PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功