我的问题是你如何去做一个用C ++解决方程式的程序。例如,
用户输入:
-5*2+(5+1)+(5-2)
节目输出:
-1
任何代码示例,链接,帮助一般都是非常苛刻的! :D谢谢!
答案 0 :(得分:2)
我觉得你的问题不是用C ++编程。它更瞄准lexical analysis,更简单地说,解析运算符和算法。关于这将如何工作的非常简短描述:
将输入解析为标记:
-5*2+(5+1)+(5-2)
变为
MINUS
5
MULTIPLY
2
PLUS
LPAREN
5
PLUS
1
RPAREN
PLUS
LPAREN
5
MINUS
2
RPAREN
这是标记化。然后你需要lex它,这将这些无关的令牌变成有意义的陈述或子陈述。一旦你了解它,你就可以解释并返回一个结果。
Step A - -5
Step B - A + 2
Step C - 5 + 2
Step D - B + C
Step E - 5 - 2
Step F - D + E
希望这至少可以让你开始。