Program do weryfikacji haseł - kod do sprawdzenia

0

Witam,

Poniżej moje kolejne zadanie z podręcznika.

Zad. 4 rozd.5

Napisz program do weryfikacji haseł, który daje użytkownikowi tylko kilka szans na podanie prawidłowego hasła, dzięki czemu użycie łamacza haseł będzie trudne.

#include<iostream>
#include<cstdlib>
#include<windows.h>

using namespace std;

int main()
{
    string user;
    string password;
    int k=1;

    while(user!="admin"&&password!="szarlotka"&&k<=3)
    {
    cout << "Podaj swoj login: ";
    cin >>user;
    cout<< "Podaj swoje haslo: ";
    cin >>password;

      if(user!="admin"&&password!="szarlotka")
            {
            cout<<"Login badz haslo jest bledne! Zaloguj sie jeszcze raz!"<<endl;
            Sleep(2000);
            system("cls");
            if(k==3)
            {
                cout<<"Konto zablokowane";
            }

            }
        else
            {
                cout<<"Zalogowales sie poprawnie";
            }

    k++;

    }

    return 0;
}

Jakieś uwagi do mojego kodu?

Pozdrawiam
Piotr

0
  1. formatowanie jest zle. Wrzuc sobie tutaj i zobacz jak sie formatuje http://format.krzaq.cc/
  2. endl nie sluzy do nowej lini, od tego jest "\n". Poczytaj jak dziala endl
  3. do hasla uzyj std::map<string, string> zeby to jakos normalnie wygladalo

poza tym to nie ma specjalnie co tutaj sprawdzac

3

Hahahaha hasło "szarlotka", czyżby znowu aluzja do mnie?

  1. formatowanie kodu
  2. stałe typu "szarlotka" i "admin" mogłyby być stałymi w sensie
const string PASSWORD = "szarlotka";
  1. zmień nazwę k na jakąś typu ilośćPrób (po ang)
  2. sama konstrukcja mogłaby być lepsza, bo powtarzasz dwa razy ten sam warunek:
(user!="admin"&&password!="szarlotka")

ale generalnie spoko

0

Mała modyfikacja:

#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <string>

using namespace std;

int main()
{
    const string setuser = "admin";
    const string setpassword = "szarlotka";
    string user;
    string pass;
    int number_of_tries = 1;

    for (int number_of_tries = 1; number_of_tries <= 3; number_of_tries++) {
        cout << "Podaj swoj login: ";
        cin >> user;
        cout << "Podaj swoje haslo: ";
        cin >> pass;

        if (setpassword != user && setpassword != pass) {
            cout << "Login badz haslo jest bledne!" << endl;
            Sleep(2000);
            system("cls");

            if (number_of_tries == 3) {
                cout << "Konto zablokowane";
            }
        }
        else {
            cout << "Zalogowales sie poprawnie";
            break;
        }
    }

    return 0;
}

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