Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确保用户只输入两个单词中的一个 首先,我是C++初学者。我希望允许用户输入红色或蓝色的单词,如果他们输入任何其他单词/字符/数字,我希望出现错误消息或类似信息,以便他们可以再次输入单词_C++ - Fatal编程技术网

确保用户只输入两个单词中的一个 首先,我是C++初学者。我希望允许用户输入红色或蓝色的单词,如果他们输入任何其他单词/字符/数字,我希望出现错误消息或类似信息,以便他们可以再次输入单词

确保用户只输入两个单词中的一个 首先,我是C++初学者。我希望允许用户输入红色或蓝色的单词,如果他们输入任何其他单词/字符/数字,我希望出现错误消息或类似信息,以便他们可以再次输入单词,c++,C++,以下是我正在努力解决的问题: cin >> seedColor; while (seedColor != "red" || "blue") { cout << "This is not a valid input. Please try again." << endl; cin >> seedColor; } 当我试着说seedColor!=红色表示一切正常,但当我使用| |运算符时,程序仍在运行,但每个条目(包括红色)都将无效

以下是我正在努力解决的问题:

cin >> seedColor;
while (seedColor != "red" || "blue") {
    cout << "This is not a valid input. Please try again." << endl;
    cin >> seedColor;
}

当我试着说seedColor!=红色表示一切正常,但当我使用| |运算符时,程序仍在运行,但每个条目(包括红色)都将无效

因为这不是布尔表达式的工作方式。你需要写作 虽然种子颜色==蓝色| |种子颜色==红色
你想要的行为。

你问题的答案并不复杂。有很多方法可以做你想做的事

如果要使方法正常工作,请在以下位置更改内容:

    while (seedColor != "blue" && seedColor!="red"){
             //your sutuff
    }
换句话说,如果您正在使用!=操作人员如果使用==运算符而不是!=过一会儿,你就可以用| |来解决你的问题了


其次,您没有使用fine | |操作符。必须有逻辑表达式| |逻辑表达式

您需要编写seedColor!=两次……我首先想到了if语句,但我需要它循环,直到用户输入正确的单词。没有办法让它成为一个循环吗?另外,谢谢:只有假定seedColor声明为std::string.Whatever才能正常工作。我只是觉得如果是的话,不是暂时的。编辑我的答案@πάνταῥεῖ 当我试着说seedColor!=红色所有东西都工作,所以它似乎是一个std::string。我试图将我的变量声明为std::string,但它仍然不工作。这令人难以置信地沮丧,这很有道理。谢谢