问题描述
要求用户输入以下数学符号之一:
+、-、* 或 /
谁能告诉我如何在 if
语句中使用这些符号?如果没有,我如何在不使用 if
语句的情况下执行此操作,例如 1 表示加法,2 表示乘法等?
if(z==+){
std::cout<<x<<"+"<<y<<" is "<<x+y;
}
解决方法
您可以将输入的符号存储在字符 char symbol
中,然后:
switch(symbol){
case '+':
std::cout << ... ;
break;
case '-':
std::cout << ... ;
break;
...
default:
std::cout << "symbol not valid\n"; ;
break;
}
,
用户输入的值通常会以字符或字符串的形式输入(取决于您读入它的方式。您不能仅仅将变量与 + 符号进行比较,而是执行以下操作:>
if("+" == z) {
//do operation
}
else if("*" == z) {
//do operation
}
else {
//etc.
}
或使用开关。
,只需将运算符括在引号中并使用字符串/字符数据类型来存储运算符
char z;
if(z=='+'){
std::cout<<x<<"+"<<y<<" is "<<x+y;
}
,
+
和 ==
是运算符。它们的语法需要两个操作数。 z
是一个字符。它不能与运算符进行比较,而只能与其他变量进行比较。正如其他答案所说,'+'
成为字符 https://en.wikipedia.org/wiki/ASCII#Character_set 并且可以进行比较。
如果符号是用户在 cmd 中的输入,那么它们是 char 类型。
char z;
if (z == '+')
std::cout << x << "+" << y << " is " << x + y;