我正在尝试从两个或多个数字和字符运算符创建和表达。确切的情况是我有两个数字,例如。
float a = 10.1, b = 10.2;
和一个字符运算符
char ch = '+';
现在我必须创建一个看起来像的表达式
float c = 10.1 '+' 10.2;
即我想在我拥有的两个浮点数之间应用 char 变量“ch”中提到的运算符。所以在这种情况下,字符是“+”,所以我想创建一个表达式,其中两个浮点值都将被添加,如果“-”则减法等。所有的值实际上都是由用户提供的,所以想要创建一个表达式然后执行操作。
现在我想到的一个解决方案是为不同的运算符设置开关盒,这样就可以了。另一个如下:
float a = 10.1, b = 20.3;
char ch = '+';
string result = "";
ostringstream os;
os << a;
result += os.str();
os.str("");
os << b;
result += ch + os.str();
现在我编写了上面的代码片段,以便我可以根据用户输入创建表达式,然后返回该表达式,以便可以在另一个过程中对其进行评估。
我不确定这是否可能。我的意思是 switch case 解决方案似乎很好,我在这里评估表达式本身并返回输出值,但只是想知道是否有办法将表达式返回到另一个函数然后在那里评估它?在 tcl 脚本语言中,我们有一个命令“expr”,它做同样的工作,所以想知道我们是否有这样的能力在 c++ 中做同样的事情。任何帮助,将不胜感激。