Software per creare un account e verificare il login con c++

di il
2 risposte

Software per creare un account e verificare il login con c++

Salve ho bisogno di un aiuto per un programma che devo fare per la scuola in c++( con il ciclo while),il software
chiede all’utente di creare un account (username e password) e poi verifica che il login sia eseguito correttamente permettendo al massimo 2 orrori nell’inserimento della password e zero errori nell’inserimento della username. Se si superano gli errori consentiti il programma da un messaggio di errore.
ecco quello che sono riuscito a fare io;

int cont,n=2,cont2,n2=1;
string user, user_db, pass, pass_db;

cout << "Crea un account"<<endl;
cout<<endl<< "Inserisci la user name desiderata-->"<<endl;
cin >> user;
cout<<endl << "Inserisci la password desiderata-->"<< endl;
cin >> pass;

cout<<endl<< "Effettua il login" << endl;

cout<<endl<<"inserisci il nome utente"<<endl;
cin>>user_db;

cout<<endl<<"inserisci la password"<<endl;
cin>>pass_db;

while ((user!=user_db) && (cont2<n2))
{
cout << "Inserisci la tua user name: " << endl;
cin >> user_db;

if (user!=user_db)
{
cout << "! Username errata. Riprovare. !" << endl;
cont2++;
}

else if (user==user_db)
{
cout << " user name confermato" << endl;
cont2++;
}
i++;
}

if (cont2 == n2){
cout << "numero di tentativi errati terminati, il tuo accesso è bloccato!" << endl;

}


while ((pass!=pass_db) && (cont<n))
{
cout << "Inserisci la tua password: " << endl;
cin >> pass_db;

if (pass!=pass_db)
{
cout << "! Username errata. Riprovare-->!" << endl;
cont++;
}

else if (pass==pass_db)
{
cout << " Password confermata" << endl;
cont++;
}

}

if (cont == n){
cout << "numero di tentativi errati terminati, il tuo accesso è bloccato!" << endl; //fine login

}

2 Risposte

  • Re: Software per creare un account e verificare il login con c++

    Ciao. Posta tutto il codice, anche gli include, e mettilo nel tag code per renderlo più leggibile (seleziona il codice e clic sul pulsante "</>").

    Puoi spiegare il problema?
  • Re: Software per creare un account e verificare il login con c++

    Ci sono parecchi errori. Una variabile 'i' non dichiarata, 'cont2' e 'cont' non inizializzate, 'n2' che viene incrementata quando dovrebbe essere una costante.
    C'è anche un errore di tipo logico, ovvero
    if (cont2 == n2)
    fallirà se cont2 è diverso da n2, il che accade sia se cont2 è minore di n2 (numero massimo di tentativi non raggiunto), sia se cont2 è maggiore di n2 (numero massimo di tentativi superato). Siccome esci dal while solo quando user == user_db (perchè incrementi anche n2), se sbagli nome utente per più di due volte il login non verrà bloccato.
    Quindi: togli n2++ dal while, inizializza a 0 cont2 e cont e riprova. C'è poi una ulteriore ottimizzazione, cioè usare un solo while, ma te lo lascio come esercizio.
Devi accedere o registrarti per scrivere nel forum
2 risposte