不记得了,在哪里看到过一个例子,是关于模仿简单的计算器的,当时也没太注意,但是
我想,你可以这样,写一个函数,如果在C++里可能会好处理一点,因为它的模板会让你
在处理返回值类型时,会轻松许多。在Delphi中,我想这样吧,
1。判断式子的合理性,(比如括号的排布等)原理:
a.从最左边开始,"("的个数始终不小于")"的个数
b.到最后,上述两个值相等
2。对式子进行更详细的分析,对其中的优先级进行判断,主要是,"( )","+","-","*","/"
3。在对上述的条件进行分析时,必须考虑递归,而且必须是两个终和考虑。
具体的代码会比较复杂,大概流程是这样的
式子有括号???
有 没有
找第一个左括号 直接按四则运算优先
funct 找下一个括号
找到的是右括号?? 那么上面的式子进行斯则运算 否则先把运算的式子
起始位置移到当前位置 。。。。。。goto funct
实在对不起,条件简陋,只能写成这样了,