el cin.ignore no lo soluciona, pero gracias
Creo que el error( a parte de la organización) esta en que no lee todo el archivo que solo me lee el primer usuario y pass que inserto y los siguientes no.
En el txt las entradas se van guardando(user,pass) así x ejemplo:
juan
lele
pepe
123
si introduzco en user juan y pass lele funciona, pero en los succesivos no. he decidido rehacer el codigo haber si alguien encuentra como arreglarlo
codigo menu
/
Código C++:
Ver original/Menu
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
struct registro{
string user;
string pass;
}persona;
struct login{
string luser;
string lpass;
}lpersona;
using namespace std;
int main(){
menu:
cout<<"1-Entrar"<<endl;
cout<<"2-Registrarse"<<endl;
cout<<"3-Salir"<<endl;
int a;
cin>>a;
switch(a){
case 1:{login:
cout<<"\tLogin"<<endl;
cout<<"\nUser:";
cin>>lpersona.luser;
cout<<"\nPass:";
cin>>lpersona.lpass;
ifstream fe("db.txt" ,ios::in);
getline(fe,persona.user);
getline(fe,persona.pass);
while(!fe.eof()){
if(lpersona.
luser==persona.
user && lpersona.
lpass==persona.
pass){system("cls"); cout<<"\nLogin correcto"<<endl;
}
if(lpersona.
luser!=persona.
user && lpersona.
lpass!=persona.
pass){system("cls"); cout<<"\nLogin incorrecto"<<endl;
goto login;
}
}
}
case 2:{registro:
ofstream fs("db.txt", ios::app);
cout<<"Introduce el user que quieras:";
cin>>persona.user; fs<<persona.user<<"\n";
cout<<"\nIntroduce el pas que quieras:";
cin>>persona.pass; fs<<persona.pass<<"\n";
fs.close();
ifstream fe("db.txt");
getline(fe,persona.user);
cout<<"User:"<<persona.user<<endl;
getline(fe,persona.pass);
cout<<"Pass:"<<persona.pass<<endl;
cout<<"\nDatos correctos?s/n"<<endl;
string resp;
cin>>resp;
if(resp=="s"){cout<<"Guardando datos"<<endl;
goto menu; break;}
if(resp
=="n"){system("cls"); goto registro
; break;} else{return(0);}
}
}
}
tactivo ( lugar donde dirije una vez logeado correctamente, no tiene errores)
Código C++:
Ver original//Terminal activo
#include <iostream>
using namespace std;
int main(){
cout<<"\nBienvenido al terminal"<<endl;
cout<<"\nTerminal en pruebas,proxiamente funcional.."<<endl;
}