首页 > 解决方案 > 有没有办法包含多个 != 运算符?

问题描述

如果变量不等于整数或十进制数,我正在尝试使输出无效的系统。问题是,当变量不等于第一个选项而不是两个选项时,它输出无效。有解决办法吗?

我尝试将其设为 if 语句和 else if 语句,而不是用 && 分隔它们。那没起效。

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

输入十进制数输出无效。

标签: c++

解决方案


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

我们可以直接把它翻译成代码。为了强调我是如何翻译需求的,我使用了andand or,但是如果您使用更传统的方式编写代码,使用&&forand||for ,代码将是相同的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;
}

推荐阅读