Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/06/2011, 13:49
snitch
 
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: una entrar unos datoss y comparar con txt..

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
  1. /Menu
  2. #include<iostream>
  3. #include<fstream>
  4. #include<string>
  5.  
  6. using namespace std;
  7. struct registro{
  8.        
  9.        string user;
  10.        string pass;
  11.        }persona;
  12.        
  13. struct login{
  14.        string luser;
  15.        string lpass;
  16.        }lpersona;
  17.        
  18.        
  19. using namespace std;
  20. int main(){
  21.    
  22.     system("color 1E");
  23.     menu:
  24.     cout<<"1-Entrar"<<endl;
  25.     cout<<"2-Registrarse"<<endl;
  26.     cout<<"3-Salir"<<endl;
  27.      int a;
  28.      cin>>a;
  29.      system("cls");
  30.      switch(a){
  31.                case 1:{login:
  32.                        cout<<"\tLogin"<<endl;
  33.                        cout<<"\nUser:";
  34.                        cin>>lpersona.luser;
  35.                        cout<<"\nPass:";
  36.                        cin>>lpersona.lpass;
  37.                        ifstream fe("db.txt" ,ios::in);
  38.                        getline(fe,persona.user);
  39.                        getline(fe,persona.pass);
  40.                        
  41.                        while(!fe.eof()){
  42.                                         if(lpersona.luser==persona.user && lpersona.lpass==persona.pass){system("cls");
  43.                                                                        cout<<"\nLogin correcto"<<endl;
  44.                                                                        system("pause");
  45.                                                                        system("tactivo");
  46.                                                                        exit(0);
  47.                                                                        }
  48.                                         if(lpersona.luser!=persona.user && lpersona.lpass!=persona.pass){system("cls");
  49.                                                                        cout<<"\nLogin incorrecto"<<endl;
  50.                                                                        system("pause");
  51.                                                                        system("cls");
  52.                                                                        goto login;
  53.                                                                        }
  54.                                         }                            
  55.                        
  56.                                
  57.                        
  58.                
  59.                }
  60.                case 2:{registro:
  61.                        ofstream fs("db.txt", ios::app);
  62.                        cout<<"Introduce el user que quieras:";
  63.                        cin>>persona.user; fs<<persona.user<<"\n";
  64.                        cout<<"\nIntroduce el pas que quieras:";
  65.                        cin>>persona.pass; fs<<persona.pass<<"\n";
  66.                        fs.close();
  67.                        system("cls");
  68.                        ifstream fe("db.txt");
  69.                        getline(fe,persona.user);
  70.                        cout<<"User:"<<persona.user<<endl;
  71.                        getline(fe,persona.pass);
  72.                        cout<<"Pass:"<<persona.pass<<endl;
  73.                        cout<<"\nDatos correctos?s/n"<<endl;
  74.                        string resp;
  75.                        cin>>resp;
  76.                        if(resp=="s"){cout<<"Guardando datos"<<endl;
  77.                        system("cls");
  78.                        goto menu; break;}
  79.                        if(resp=="n"){system("cls"); goto registro; break;}
  80.                        else{return(0);}
  81.                        
  82.  
  83.                     }
  84.                case 3:{exit(0);}
  85.                }
  86.                
  87. }

tactivo ( lugar donde dirije una vez logeado correctamente, no tiene errores)

Código C++:
Ver original
  1. //Terminal activo
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.    
  8.     system("cls");
  9.     system("color 1E");
  10.     cout<<"\nBienvenido al terminal"<<endl;
  11.     cout<<"\nTerminal en pruebas,proxiamente funcional.."<<endl;
  12.     system("pause");
  13.     exit(0);
  14.    
  15. }

Última edición por snitch; 26/06/2011 a las 14:03