我在VS 2013 Express(适用于Windows桌面)中为控制台应用程序提供了一个简单的c++程序:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string mystr;
cout << "Welcome, what is your name? ";
getline(cin, mystr);
cout << "Nice to meet you, " << mystr << endl;
cout << "May i call you \"Idiot\" for short? (y/n)" << endl;
string mystr2;
getline(cin, mystr2);
while ( ??? )
{
if (cin)
{
if (mystr2 == "y")
{
cout << "Thank you, Idiot" << endl;
}
else
{
if (mystr2 == mystr)
{
cout << "You found the hidden secret! The hidden secret is..... I dunno. It is what ever you want it to be. \n \nProbably a let down." << endl;
}
else
{
if (mystr2 == "n")
{
cout << "Ok then, " << mystr << endl;
}
else
{
cout << "Please enter a valid response (y/n)" << endl;
getline(cin, mystr2);
}
}
}
}
}
}
我刚刚开始学习,我更喜欢在做某事时学习,所以我决定这样做。从最后的else语句中您可能会猜到,如果用户输入了y,n或mystr2 == mystr之外的其他内容,我希望它说“请输入有效的响应(y / n)”。它工作正常,但我需要循环,所以我将其全部放入了while语句中。
现在,我需要一个while语句的表达式,它不会影响它,或者是用户触发了最后一个else语句的结果。这种填充物是我需要帮助的。
我知道它很小而且毫无意义,但我想完成它。
最佳答案
您可以简单地使用while(true)
来无限期执行循环。如果要停止,则必须break
或return