如何将输入作为字符串,并将每个字符标识为char、int或float? 如何将输入作为字符串,并将每个字符标识为C++中的字符、int或浮点?< /P>

如何将输入作为字符串,并将每个字符标识为char、int或float? 如何将输入作为字符串,并将每个字符标识为C++中的字符、int或浮点?< /P>,c++,C++,e、 g:如果我想让用户输入一个简单的3+2=语句,那么我想让程序决定我是在加减还是做任何其他算术运算,然后相应地输出相应的答案。你可以用或标记你的输入字符串。 一旦标记了它,就应该确保语法正确。 然后执行语法 以下是如何定义您的语言: 分隔符=“” 运算符=“+”、“-”、“*”、“/” 整数=\d+ 浮点=\d*\d+ 您可以循环遍历字符串中的每个字符,并确定操作的位置(在本例中为+)。知道操作位置后,将从字符串开头到操作的每个字符作为第一个操作数,将从操作到字符串结尾的每个字符作为第二个

e、 g:如果我想让用户输入一个简单的
3+2=语句
,那么我想让程序决定我是在加减还是做任何其他算术运算,然后相应地输出相应的答案。

你可以用或标记你的输入字符串。 一旦标记了它,就应该确保语法正确。 然后执行语法

以下是如何定义您的语言:

  • 分隔符=“”
  • 运算符=“+”、“-”、“*”、“/”
  • 整数=\d+
  • 浮点=\d*\d+

您可以循环遍历字符串中的每个字符,并确定操作的位置(在本例中为+)。知道操作位置后,将从字符串开头到操作的每个字符作为第一个操作数,将从操作到字符串结尾的每个字符作为第二个操作数。您可以使用
atof
将字符串转换为双精度,然后对操作数进行数学运算。使用
if
语句识别操作字符并执行适当的操作。这都是关于标记化的。谷歌将是一个很好的帮助。如果你能用boost spirit做到这一点,看看提供的示例:我想要一个简单的运行代码。你在github上的代码不起作用