Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/06/2011, 10:51
Avatar de CapacProg
CapacProg
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 15 años
Puntos: 71
Respuesta: una entrar unos datoss y comparar con txt..

Código C++:
Ver original
  1. //jk (programa de login)
  2.  
  3. #include <iostream>
  4. #include<fstream>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.  
  10. login:
  11. char usuario[10],pass[10] ;
  12. cout<<"User:";
  13. cin.getline(usuario,10);
  14. cout<<"\n";
  15. cout<<"Pass:";
  16. cin.getline(pass,10);
  17.  
  18. cout<<"Comprovando"<<endl;
  19.  
  20. ifstream fe("reg.txt");
  21. fe.getline(usuario,10);
  22. fe.getline(pass,10);
  23. system("cls");
  24.  
  25. if(cin.getline(usuario,10)==fe.getline(usuario,10) and cin.getline(pass,10)==fe.getline(pass,10)){
  26. cout<<"Login correcto"<<usuario<<endl;
  27. system("toperativ");}
  28. else{cout<<"Login incorrecto"<<endl;
  29. system("pause");
  30. system("cls");
  31. goto login;}

En este código:

Primero: Veo que no usas la librería "string.h" para manejar las cadenas, como en la línea 25 para hacer la comparacion con strcmp o con strncmp, ya que en la forma que lo haces no va a funcionar por no ser el método de comparar cadenas, eso serviría en números o en caracteres, pero no en cadenas.

Segundo: Las variables que usas para el ingreso de datos del usuario y pass los sobreescribes con lo que lees del archivo, así que no estas haciendo nada, coloca cada dato en variables diferentes.

Tercero: No estas recorriendo todo tu archivo buscando al usuario y pass correspondiente, ya que en el modo que abres tu archivo se supone que vas a tener más de un usuario (ios::app) y tu sólo lees la primera y segunda linea.

Espero te sirva.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Última edición por CapacProg; 24/06/2011 a las 10:57