由于这是之前的小作业了,之前贴出来没注意,后来发现格式太乱了根本看不了,所以今天再贴出来一下,这次的计算器比我之前写的要复杂很多,主要是通过逆波兰式实现的,没有界面,计算器是我之前的一个软肋啊,编了好多次都没有写出来。
这次这个,我试着调了很多次bug,以及很多种情况,尽量完善了,但是如果还有没考虑周全的,希望大家提出来,亲测代码可用。当然,为了方便起见,我把代码都整合到一个cpp文件的,主要也是懒。。。
一.以下是本计算器实现的功能。
支持+ - * / 四则运算
支持 小数 +(正号) -(负号) %(百分号) !(阶乘)
支持 sin cos tan arctan arcsin arctan fabs exp log2 log10 ln sqrt等函数
支持输出变量 变量赋值 变量计算 pi/PI E/e ^(次方)
clearAll(清除所有) clear变量(清除指定变量) showALL(显示所有变量) fprecise 数值(按照指定精度输出)EXIT(退出) Ang(输入按照角度进行计算) RAD(输入按照弧度进行计算)等指令
输入的函数不区分大小写,变量 区分大小写,指令限于以上格式
二.下面是程序的每一步的实现步骤
2.1 主要步骤,代码顺序也是如此
2.1.1字符串预处理,提取变量,检测指令
实现内容:
检测输入表达式是否为指令,若是,则执行该指令
检测符合指令格式的错误指令
检测表达式是否为赋值语句
若