我需要编写一个程序,只允许知道用户名/密码的客户访问食物菜单。我必须使用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;
}
答案 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