MFC计算器怎么实现不按等号进行连续运算。大神们说说方法。
展开全部
就是遇到+-*/的时候,判断如果已经有一个符号在运算中(这个需要一个标记变量),就调用一次等号的实现就好了。 同时在等号实现里面,标记变量置否。
更多追问追答
追问
我是加减乘除分别为一个变量,用来区分按下的键是什么,按下符号的同时,将按下的数字赋给一个变量并清空,然后在输入一个数字,等号里面进行区分符号和运算。可是如果在符号下面调用等号,值会清空,你输入的数就不是运算了,就是追加到字符串后面了。(我的结果是字符串类型)求解,大神!
追答
你的理解有偏差,连续运算的时候,输入第二个符号的时候,就是和等号一样要清空的(当然,我指的是和win计算器一样的模式)。
在win计算器一样的模式下,一般是两个变量存储,一个是寄存的前一个变量,一个是当前变量,当第二个符号输入后,当前变量经运算进入寄存变量,等待输入下一个数,其实和等号没什么区别,只是需要将结果记录下来参与下一次运算(并同时记录当前运算符号)。
展开全部
设置一个全局变量保存每一次的计算结果,之后不就很好做了吗?
更多追问追答
追问
怎么会好做了?每按一次符号,当前值给一个变量,并清空。这样,你按第二次符号的时候,又会这样做一次。之后怎么判断?你得判断了,才能在符号下调等于函数吧。
追答
两个全局,一个保存上一次的计算结果,一个保存这次你按下的数字键值,不要=符号,直接在每个运算符键位处理里面处理,也就是说每次按下+-*/符号,计算两个全局的运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询