用C ++求解方程

时间:2014-01-30 20:02:23

标签: c++ lexical-analysis

我的问题是你如何去做一个用C ++解决方程式的程序。例如,

用户输入:

-5*2+(5+1)+(5-2)

节目输出:

-1

任何代码示例,链接,帮助一般都是非常苛刻的! :D谢谢!

1 个答案:

答案 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

希望这至少可以让你开始。