In questo programma dovrei controllare username e password scritti da un file di testo separati da spazio e dovrebbe esserci una combinazione per ogni rigo, usando il while in getline(fin,user) mi legge riga per riga come giusto che sia ma se scrivo per esempio nel file .dat una combinazione nella prima riga e un'altra nella seconda, andando ad avviare il programma e scrivendo per esempio la 2 combinazione mi dice accesso negato e se lo riscrivo una seconda volta accesso consentito. Come faccio a farglieli leggere e poi confrontarli dando direttamente l'output giusto?
Spero di essermi spiegato.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int i=4;
string user,password,verif;
ifstream fin ("user.dat");
if(!fin){
cout<<"Errore nell'apertura del file! ";
}
do{
getline(fin,user);
cout<<"Inserisci username e password: "<<endl;
getline(cin,verif);
if(verif==user){
cout<<"Accesso consentito.";
}else{
cout<<"Accesso negato. Hai ancora" " "<<i-1<<" " "possibilita' "<<endl;
i--;
}
if(i==0){
cout<<"ACCOUNT BLOCCATO! "<<endl;
goto end;
}
}while(user!=verif);
end:
return 0;
}