Me gustaría pediros consejo acerca de un código que tengo entre manos para mi clase de programación, me está dando muuucho la lata.
Tengo que leer y escribir mediante ofstream e ifstream en un txt con usuarios y contraseñas para, una vez logueado, poder jugar a un juego.
El problema que tengo es que si fallo la contraseña 2 veces (por ejemplo) y la introduzco bien la tercera vez no hace nada! debería de poder acceder al juego.
Pego parte del código por si alguien pudiese echarme una mano.
Puedo poner el código completo y funcional si hiciese falta.
Mil gracias de antemano!!
Saludos.
Código:
cout << "Por favor, introduce tu apodo: ";
cin >> apodo;
cout << "Contraseña: ";
cin >> password;
lecturareg.open("registro.txt");
escrituratmp.open("tmp.txt");
do
{
lecturareg >> d;
escrituratmp << d << endl;
if(d == apodo){
lecturareg >> d;
escrituratmp << d << endl;
if(d == password)
found = true;
else
{
for(i = 1; i <= 2; i++) {
cout << "Contraseña incorrecta! Vuelve a intentarlo: ";
cin >> password;
}
if(i == 3)
{
cout << "Lo siento, pero has fallado demasiadas veces. No puedes jugar." << endl;
opmenu = 0;
}
}
}
} while(found == false && d != "XXX");
lecturareg.close();
escrituratmp.close();
if(found == false && i == 0)
{
lecturatmp.open("tmp.txt");
escriturareg.open("registro.txt");
do
{
lecturatmp >> d;
if(d != "XXX")
escriturareg << d << endl;
else
escriturareg << apodo << endl << password << endl << "XXX";
} while(d != "XXX");
}
lecturatmp.close();
escriturareg.close();