如何将输入作为字符串,并将每个字符标识为char、int或float? 如何将输入作为字符串,并将每个字符标识为C++中的字符、int或浮点?< /P>
e、 g:如果我想让用户输入一个简单的如何将输入作为字符串,并将每个字符标识为char、int或float? 如何将输入作为字符串,并将每个字符标识为C++中的字符、int或浮点?< /P>,c++,C++,e、 g:如果我想让用户输入一个简单的3+2=语句,那么我想让程序决定我是在加减还是做任何其他算术运算,然后相应地输出相应的答案。你可以用或标记你的输入字符串。 一旦标记了它,就应该确保语法正确。 然后执行语法 以下是如何定义您的语言: 分隔符=“” 运算符=“+”、“-”、“*”、“/” 整数=\d+ 浮点=\d*\d+ 您可以循环遍历字符串中的每个字符,并确定操作的位置(在本例中为+)。知道操作位置后,将从字符串开头到操作的每个字符作为第一个操作数,将从操作到字符串结尾的每个字符作为第二个
3+2=语句
,那么我想让程序决定我是在加减还是做任何其他算术运算,然后相应地输出相应的答案。你可以用或标记你的输入字符串。
一旦标记了它,就应该确保语法正确。
然后执行语法
以下是如何定义您的语言:
- 分隔符=“”
- 运算符=“+”、“-”、“*”、“/”
- 整数=\d+
- 浮点=\d*\d+
atof
将字符串转换为双精度,然后对操作数进行数学运算。使用if
语句识别操作字符并执行适当的操作。这都是关于标记化的。谷歌将是一个很好的帮助。如果你能用boost spirit做到这一点,看看提供的示例:我想要一个简单的运行代码。你在github上的代码不起作用