【数据结构课设--项目3】算术表达式求解

目录

一、问题描述和基本要求

二、问题分析和任务定义

三、逻辑设计

四、物理设计


一、问题描述和基本要求

【问题描述】
设计一个简单的算术表达式计算器。
【基本要求】
 实现标准整数类型的四则运算表达式的求值(包含括号,可多层嵌入)。
【测试数据】
(30+2*70)/3-12*3
 5+(9*(62-37)+15)*6
 要求自行设计非法表达式,进行程序测试,以保证程序的稳定运行。
【实现提示】
可以设计以下辅助函数
status isNumber(char ReadInChar);  //视ReadInchar 是否是数字而返回 TRUE 或 FALSE 。
int TurnToInteger(char IntChar);   // 将字符’0’.’9’ 转换为整数 9

二、问题分析和任务定义

在计算机中,由于不同的运算符具有不同的优先级,又要考虑括号,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。以字符列的形式从终端输入语法正确的、不含变量的整数表达式。利用已知的运算符优先关系,实现对算术四则混合运算表达式的求值。

三、逻辑设计

1.主函数模块:

接收算数表达式,根据判断优先级函数返回值选择后续操作并输出结果。

2.栈的基本操作模块:

包括栈的初始化、入栈、出栈、获取栈顶元素。

3.判断运算符操作数模块:

判断用户输入的字符为运算符或操作数,进行分类操作。

4.判断优先级模块:

判断输入符号和操作符栈顶元素的优先级。

5.表达式求值模块:

取操作符栈顶元素及两个操作数栈顶元素进行运算.

四、物理设计

系统流程图

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值