Ograniczanie liczby prób logowań pętlą

0

Cześć,
Dopiero zaczynam przygode z programowaniem w c++ i pewnie takie zadania są dla was troszkę śmieszne, ale mam nadzieje że pomożecie. Otóż przerabiam książke Alexa Allaina...i mam problem z jednym zadaniem na pętlach. To jest prosty program do logowania który miałem stworzyć:

#include <iostream>

using namespace std;
string haslo;

int main()
{
cout<<"Podaj haslo:";
cin>>haslo;

while(haslo!="1234")
    {
        cout<<"nieprawidlowe haslo, sproboj ponownie:";
        cin>>haslo;
    }

    cout<<"zalogowales sie";
    return 0;
}

Następnie mam go usprawnić, tak aby prób do logowania było np tylko 3, po 3 nieudanej próbie dawał komunikat, że np "nie można więcej razy się zalogawać" i kończył aplikacje. Mam to zrobić tylko z użyciem pętli. Z góry dzięki za pomoc.

0
  • Nie używaj zmiennych globalnych;
  • Pętla while tutaj się nie sprawdzi, bo niepotrzebnie powtarzasz kod. Lepsza będzie do...while, ponieważ wykona się raz przed sprawdzeniem warunku. while najpierw sprawdzi warunek, a później wykona kod w jej wnętrzu. To wiele zmienia;
  • Nie stosuj magic strings. Lepiej zapisać poprawne hasło do zmiennej i później porównać.
#include<iostream>
#include<string>
using namespace std;

int main(){
    string password = "";
    string correct = "12345";
    do
    {
        cout << "Enter password:";
        cin >> password;
    }
    while (password != correct);
    cout << "Logged in!\n";
    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1