环境VS2008+QT4.86
1. 新建项目
2. 选择一些选项,classname 自动生成的,随便用什么名字。
3. 在类中添加如下变量
功能是:结果显示,输入显示,24个按键,组合按键(用于signals方便用一个slot实现),计算字符串输入(中缀表达),计算字符串结果(后缀表达),最后的结果
4. 添加slot函数
计算结果的按键,回退按键,多按键分工处理。
5. 添加计算函数
分别用于初始化界面,读取不同运算优先级,读取字符串中的一个数到字符串,逆波兰式转化,获取字符串一个数,计算逆波兰式结果。
针对函数与变量,在对应的.cpp文件添加函数。
6. 计算原理
逆波兰式计算,转换为后缀表达式后,直接从头到尾,遇到数字push,遇到符号把stack前两个或一个数读出,然后process,计算结果后push,这样
直到后缀表达式结束,然后返回stack的top就是需要计算的结果。
本人代码:
https://github.com/colin-zhou/Calculator
由于未考虑对输入字符串进行检测,若输入错误字符串未给出警告。