一直想写一个可以由用户动态输入并计算结果的计算器。比如(1+2)*3+4这样的表达式。好了,废话不多说,下面来说一下我写的这个程序。
主要是用了堆栈来记录运算数与运算符,我采取的是中序的方法,计算的结果都为float类型,支持+,-,*,/,(,),^运算符,^是幂的运算。
好了,大家可以试下我这个计算器,直接输入一个字符串,回车便可看见运算结果,是不是很酷啊,呵呵。
当然大家也可以改成前序遍历与后序遍历,那样代码更加简单了。
该代码经过了很多测试,可能仍有bug之处,还望大家多多指正。