我正在尝试使一个变量不等于整数或十进制数的输出无效的系统。问题是,当变量不等于第一个选项而不是两个选项时,它输出无效。有解决办法吗?
我尝试使它成为if语句以及else if语句,而不是用&&分隔它们。它没有用。
if (user_input != "whole number") {
std::cout << "\nInvalid";
goto label1;
}
else if (user_input != "decimal number") {
std::cout << "\nInvalid";
goto label1;
}
如果输入了十进制数字,则输出无效。
答案 0 :(得分:3)
您的要求是,如果变量不等于“整数”或“十进制数”,则系统应输出无效。
我们可以将其直接转换为代码。为了强调我如何翻译要求,我使用了and
和or
,但是如果您以更常规的方式编写内容,并且将&&
用于{{1} }和and
代表||
。
or
或者,我们可以这样写:
if(user_input != "whole number" and user_input != "decimal number")
{
std::cout << "\nInvalid";
goto label1;
}
答案 1 :(得分:1)
使用实际代码的可读方式:
bool invalid = ((typeid(var) != typeid(int)) && (typeid(var) != typeid(double)));
if(invalid)
std::cout << "Invalid !" << std::endl;
希望有帮助。