我在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)来无限期执行循环。如果要停止,则必须breakreturn

09-11 23:18