有没有办法包括多个!=运算符

Is there a way to include multiple != operators?

本文关键字:运算符 包括多 有没有      更新时间:2023-10-16

如果变量不等于整数或十进制数字,则我正在尝试制造一个系统,以输出无效。问题是,当变量不等于第一个选项而不是两个选项时,它会输出无效。有修复吗?

我尝试将其作为if语句以及其他if语句,而不是用&&它不起作用。

if (user_input != "whole number") {
    std::cout << "nInvalid";
    goto label1;
  }
  else if (user_input != "decimal number") {
    std::cout << "nInvalid";
    goto label1;
  }

它输出无效的是十进制数字。

您的要求是,如果变量不等于"整数"或"十进制数字",则系统应输出无效。

我们可以将其直接转换为代码。为了强调我如何翻译要求,我使用的是andor,但是如果您以更传统的方式编写内容,则代码将是相同的,将&&用于and||用于or

if(user_input != "whole number" and user_input != "decimal number") 
{
    std::cout << "nInvalid";
    goto label1;
}

另外,我们可以写:

if (not (user_input == "whole number" or user_input == "decimal number")) 
{
    std::cout << "nInvalid";
    goto label1;
}

使用真实代码:

bool invalid = ((typeid(var) != typeid(int)) && (typeid(var) != typeid(double)));
if(invalid)
    std::cout << "Invalid !" << std::endl;

希望它有帮助。