嗨,我正在创建一个简单的密码程序。该程序要求用户输入帐号和密码。以下代码工作正常,但是我遇到的唯一问题是在 3 次错误尝试后,我希望程序以适当的消息终止。我不知道如何在 3 次错误尝试后让循环停止,希望有人可以帮助我解决这个问题。从我收集的信息来看,我认为我可能不得不使用 for 循环,但我似乎无法让它正常工作。谢谢!
int A;
string guess;
const string pass;
const int number;
cout << "Please Enter Account Number:" << endl;
cin >> A;
cout << "Enter Password Account Password:"<< endl;
cin >>guess;
while(A!=number || guess!=pass)
{
cout<<"Incorrect password. Try again"<<endl;
cout << "Please Enter Account Number:" << endl;
cin >> A;
cout << "Enter Password Account Password:"<< endl;
cin >>guess;
}
怎么样:
for (int counter = 0; counter < 2 && (A != number || guess != pass); ++counter)
{
...
}
int attempts = 0;
while(A!=number || guess!=pass)
{
if( attempts++ == 3 )
{
cout << "Tough luck; exitting ..." << endl;
break;
}
cout<<"Incorrect password. Try again"<<endl;
cout << "Please Enter Account Number:" << endl;
cin >> A;
cout << "Enter Password Account Password:"<< endl;
cin >>guess;
}
int A;
string guess;
const string pass = /* some value */;
const int number = /* some value */;
cout << "Please Enter Account Number:" << endl;
cin >> A;
cout << "Enter Password Account Password:"<< endl;
cin >>guess;
int i = 0;
const int MAX_ATTEMPT = 3;
bool success;
while( ( success = ( A!=number || guess!=pass ) ) && ( ++i < MAX_ATTEMPT ) )
{
cout<<"Incorrect password. Try again"<<endl;
cout << "Please Enter Account Number:" << endl;
cin >> A;
cout << "Enter Password Account Password:"<< endl;
cin >>guess;
}
if ( success ) /* other stuff */