基于顺序栈实现的四则算术表达式计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2
概要详细
平台选择
用户普及度高,操作熟悉,易移植
简单直接,一直在学在用
功能熟悉,操作简便
3
目录
需求分析
Demand Analysis
概要详细
Outline&Detail
算法设计
Algorithm Design
编码测试
Encoding&Test
算法设计 1 2 3
算法统计
算式排错算法
中序转后缀 表达式算法
3、一个人做很累
3
谢谢聆听!
Thanks for listening!
指导老师:杜晓凤
汇报人:黄成旺
基于顺序栈实现的 四术算数表达式计算
指导老师:杜晓凤 汇报人:黄成旺
目录
需求分析
Demand Analysis
概要详细
Outline&Detail
算法设计
Algorithm Design
编码测试
Encoding&Test
目录
需求分析
Demand Analysis
概要详细
Outline&Detail
3 6 2 3 9 12 3 3 6
12
6 9
+ *
32
5
目录
需求分析
Demand Analysis
概要详细
Outline&Detail
算法设计
Algorithm Design
编码测试
Encoding&Test
编码测试
容错测试:
1
编码测试
计算测试:
2
后话
1
后话
2
3
1、一个人做很累
2、一个人做很累
后缀表达 式计算算法
1
算法设计
算式排错算法
puts(a); stack che;
3 ((
+
(
3
+
2

+
3
\0
puts(b); char c[100]={‘ ’}; c[i]='^';
3
+

3
+
2
+
3
\0
^
2
算法设计
算式排错算法
puts(a); stack che;
3 (
+
(
3
/
0

%
3.1
\0
c[i]='^';
^
^
3
算法设计
中序表达式转后后缀表达式算法
puts(a);
3
+
(
3
+
2
*
3
)
\0
char ch[100];
3 op
3 level
2
3
*
+
+
\0
stack st; * + ( + 2 1 -1
1
4
算法设计
算式排错算法
char ch[100];
3
3
2
3
*
+
+
\0
stack numstack 9 + 3
1
概要详细
程序组织结构
排错程序
排错程序
1、遍历数组 2、括号匹配 3、条件判断“/” 4、条件判断“%”
1、记录出错索引 2、打印“^”标示
中序表达式转后缀表达式程序
1、操作数排入数组 2、操作符标识优先级入栈 3、操作符根据优先级出栈 排入数组
后缀表达式计算程序
1、操作数入栈 2、条件判断操作符 3、操作数出栈计算 4、计算结果入栈 5、判断栈长度为1出栈
算法设计
Algorithm Design
编码测试
Encoding&Test
需求分析
功能需求

%整数
+&-Hale Waihona Puke Baidu
*&/
浮点 运算
%
四 则 运 算
算 数 排 错
缺少括号
除数为0?
缺少运算 符
1
目录
需求分析
Demand Analysis
概要详细
Outline&Detail
算法设计
Algorithm Design
编码测试
Encoding&Test
概要详细
排错处理
判断是否 缺少括号, 操作数是否 符合标准
基本处理流程
输入一则 四则运算, 可带括号, 可以是浮点 数
算式处理 排错处理
错误提示 算式输入
错误提示
发现错误 用“^”标 出位置
调用函数, 计算结果
正确计算
算式分析
算式修改
正确计算
算式修改
根据提示 重新输入算 式
相关文档
最新文档