提问者:小点点

Cplus中的if语句可以使用symbol吗


用户要求输入下列数学符号之一:+,-,*或/。有人能告诉我,我能不能在if语句中使用符号,如果不是,如何在不使用if语句的情况下这样做,比如1表示加法,2表示乘法类型。

if(z==+){
     std::cout<<x<<"+"<<y<<" is "<<x+y;
   }

共3个答案

匿名用户

输入值的用户通常会以字符或字符串的形式输入(这取决于您如何读取它。您不能仅仅将变量与+号进行比较,它会执行如下操作:

if("+" == z) {
//do operation
}
else if("*" == z) {
//do operation
}
else {
//etc.
}

或者使用开关。

匿名用户

您可以将符号输入存储在字符中,然后:

switch(symbol){
    case '+':
        std::cout << ... ;
        break;
    case '-':
        std::cout << ... ;
        break;
    ...

    default:
        std::cout << "symbol not valid\n"; ;
        break;
}

匿名用户

是运算符。它们的语法需要两个操作数。是一个字符。它不能与运算符相比,而只能与其他变量相比。正如其他答案所说的那样,变成了一个字符https://en.wikipedia.org/wiki/asciieut.character_set,可以进行比较。