数据结构课程设计预习准备(三)有优先级的加减乘除计算器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

`
【问题描述】
设计一个简单的算术表达式计算器。

【实现提示】
可以设计以下辅助函数
status isNumber(char ReadInChar); //视ReadInchar 是否是数字而返回 TRUE 或 FALSE 。
int TurnToInteger(char IntChar); // 将字符’0’.’9’ 转换为整数 9


提示:以下是本篇文章正文内容,下面案例可供参考

一、要求

【基本要求】
实现标准整数类型的四则运算表达式的求值(包含括号,可多层嵌入).
【测试数据】
(30+270)/3-123
5+(9*(62-37)+15)*6
要求自行设计非法表达式,进行程序测试,以保证程序的稳定运行。

二、思路

1.不同运算符及括号的优先级不同,要变优先顺序混乱的计算式为优先顺序从左到又顺序的简单计算式,用中缀表达式、双栈法对数字及符号进行排序
2.计算的数据类型为double,四舍五入,保留两位,允许小数点前为0
3.非法输入报错,其他类型输入时提示,float转换

三、重难点

1.优先级排序算法实现
2.类型转换的逻辑,避免出现有输入无返回,或数据计算乱码
四、参考
1.存储转换
https://blog.csdn.net/qq_45243353/article/details/116305130?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%B8%A6%E6%AD%A3%E8%B4%9F%E5%B0%8F%E6%95%B0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-116305130.142v10pc_search_result_control_group,157v4control&spm=1018.2226.3001.4187
2.中缀表达式转后缀表达式https://blog.csdn.net/qq_41686130/article/details/82858997?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165322182216781685347391%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165322182216781685347391&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-82858997-null-null.142v10pc_search_result_control_group,157v4control&utm_term=%E4%B8%AD%E7%BC%80%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%BD%AC%E5%90%8E%E7%BC%80&spm=1018.2226.3001.4187

四、实现

五、总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值