界面展示
image.png
image.png
image.png
1.用户界面类设计
需要使用QWidget组件作为顶层窗口,QLineEdit组件作为输入框,QPsuhButton作为按钮...1.1 在代码里处理按键消息时,需要处理下用户输入的格式(方便逻辑模块计算)
1)匹配括号成对出现,左括号必然先于右括号出现
当有左括号出现时,则status++
当有右括号出现时,并且status!...-,表示的是负号,而不是减号
当出现+-时,并且前面还有左括号时,表示为正负号,比如:
9+(-3+4) //-前面还有(,说明这个-,表示负号,而不是减号
2)以下图的中缀表达式为例...直接保存到队列
-当队列元素为加减时
判断栈顶的运算优先级,由于+-的优先级小于等于所有运算符
所以循环取出栈顶的运算符并入队列
直到遇到栈为空、遇到左括号时才停止,最后再将当前+-入栈
-当队列元素为乘除时...判断栈顶的运算优先级,由于*/的优先级只小于等于*/
所以循环判断栈顶运算符,如果栈顶运算符是*/,则取出并入栈
直到遇到栈为空、遇到左括号、遇到+-时才停止,最后再将当前*/入栈
-当前队列元素为左括号时