首先,我是c ++的初学者。我想允许用户输入单词“red”或“blue”,如果他们输入任何其他单词/字符/数字,我想要出现错误信息或类似的东西,以便他们可以再次输入单词。 / p>
这是我正在努力的一点:
cin >> seedColor;
while (seedColor != "red" || "blue") {
cout << "This is not a valid input. Please try again." << endl;
cin >> seedColor;
}
当我尝试说(seedColor!=“red)时,一切正常,但当我使用||运算符时,程序仍然运行,但每个条目都变为无效,包括红色。
答案 0 :(得分:5)
因为它不是布尔表达式的工作方式。你需要写上
while(!(seedColor == "blue" || seedColor == "red"))
对于你想要的行为。
答案 1 :(得分:2)
你的问题的答案并不复杂。有很多方法可以做你想做的事。
如果您想让您的方法有效,请在以下位置更改while()内容:
while (seedColor != "blue" && seedColor!="red"){
//your sutuff
}
换句话说,如果您使用&&
运算符,首先需要||
而不是!=
。如果您使用的是==
运算符而不是!=
,那么您可以在问题中使用||
。
其次,您没有使用精细的||
运算符。您必须拥有logical_expression || logical_expression
。