使用 C++ 创建计算器
use C++ to create a calculator
我想用C++做一个计算器,输入一个表达式,计算出结果。
例如,
输入
(5.2+4)*ln3.4+sin3
输出
11.39985
问题是我不知道如何将数字和运算符与字符串分开。对于操作数和数字的长度是不同的。
有什么好的方法吗?
使用 exprtk 等库。
我假设你是一个十足的菜鸟,这导致我建议你总是 Google 一个库来解决你的问题。
这实际上比一开始看起来要难得多,我是根据经验说的。
如果您想要一个如何完全从头开始的示例,。它当然不完整,但链接到一篇关于 Pratt 解析的很棒的 Java 文章(实际上,可能是最好的文章),在我看来,这是解析表达式的最佳方法。我的问题是我试图将在那里找到的 Java 代码移植到 C++。你可以看到我 运行 的问题。
你还需要知道一些关于 lexers, and learn how to create tokens 的理论,我不会在那里问。
关键是,如果你想从头开始,或者即使你只想知道发生了什么的理论,你还有很多研究要做,但我当然鼓励你尝试一下如果您没有截止日期。
我想用C++做一个计算器,输入一个表达式,计算出结果。
例如,
输入
(5.2+4)*ln3.4+sin3
输出
11.39985
问题是我不知道如何将数字和运算符与字符串分开。对于操作数和数字的长度是不同的。 有什么好的方法吗?
使用 exprtk 等库。
我假设你是一个十足的菜鸟,这导致我建议你总是 Google 一个库来解决你的问题。
这实际上比一开始看起来要难得多,我是根据经验说的。
如果您想要一个如何完全从头开始的示例,
你还需要知道一些关于 lexers, and learn how to create tokens 的理论,我不会在那里问。
关键是,如果你想从头开始,或者即使你只想知道发生了什么的理论,你还有很多研究要做,但我当然鼓励你尝试一下如果您没有截止日期。