使用do while循环访问菜单

时间:2014-09-18 14:22:53

标签: c++ loops do-while

我需要编写一个程序,只允许知道用户名/密码的客户访问食物菜单。我必须使用do while循环。这是我的代码,但由于do while循环,即使用户名/密码错误也不会发生,菜单会出现。

 int main(int argc, char *argv[])
{
    string sUserName = "";
    string sPassword = "";

    cout <<"Username: ";
    cin >> sUserName;
    cout <<"Password: ";
    cin >> sPassword;

    do
    {
        //order from a menu

    }
        while(sUserName == "wiseguy" && sPassword == "opensesame");

    system("PAUSE");
    return 0;
}

2 个答案:

答案 0 :(得分:0)

do..while循环执行至少一次,即使while(...);中的条件为false也是如此。执行循环体后,将检查条件。所以我认为如果你使用while循环而不是do...while更好,因为while循环在执行它的主体之前首先检查条件。

答案 1 :(得分:-1)

你应该尝试一些不同的东西。

do while循环应检查用户名,如果用户名和密码不正确则再次提示。

do
{
    cout <<"Username: ";
    cin >> sUserName;
    cout <<"Password: ";
    cin >> sPassword;

} while(sUserName != "wiseguy" || sPassword != "opensesame");

// order from menu