C++ 密码程序上的计数循环



嗨,我正在创建一个简单的密码程序。该程序要求用户输入帐号和密码。以下代码工作正常,但是我遇到的唯一问题是在 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 */

最新更新