Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/11/2013, 12:49
polpolpol
 
Fecha de Ingreso: julio-2011
Ubicación: guadalajara mX
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 6
scanf y cin no me guardan arreglo (char)

Buen dia amigos del foro!!

Tengo un problema con una variable, la quiero guarda en un arreglo de caracteres
pero no la guarda queda vacia la variable despues de usar scanf o cin (linea 24).

Ase unos minutos estaba funcionando pero de un momento a otro ( no se si le movi algo) dejo de funcionar

Código C++:
Ver original
  1. #include "enlace.h"
  2.  
  3. int main()
  4. {
  5.     empleados log;
  6.     char ciclo='a';
  7.     char codigo_i[20];//datos ingresados
  8.     char pass2[15];
  9.     int c=0,entrada=1,c1,c2;
  10.  
  11.     system("color F1");
  12.  
  13.     do
  14.     {
  15.         system("cls");
  16.         reg = fopen("empleados.txt","r");
  17.         cout<<"SISTEMA TELEMEX IDENTIFIQUESE\n\n\n";
  18.         cout<<"Codigo de empleado: ";
  19.         fflush(stdin);
  20.         cin>>codigo_i;
  21.         cout<<"Password: ";
  22.         fflush(stdin);
  23.         cout<<pass2;  //antes de usar el scanf imprime varios caracteres extraños
  24.         scanf("%s",pass2);  
  25.         cout<<pass2; //aqui no imprime nada =(
  26.         while(c!=EOF)
  27.         {
  28.             fscanf(reg," %[^\t]",log.cod);
  29.             cout<<"cod: "<<log.cod<<endl;
  30.             fscanf(reg," %[^\t]",log.pass);
  31.             cout<<"pass: "<<log.pass<<endl;
  32.             fscanf(reg," %[^\t]",log.nombre);
  33.             cout<<"nombre: "<<log.nombre<<endl;
  34.             fscanf(reg," %[^\t]",log.apellido);
  35.             cout<<"apellido: "<<log.apellido<<endl;
  36.             fscanf(reg," %[^\t]",log.rfc);
  37.             cout<<"rfc: "<<log.rfc<<endl;
  38.             fscanf(reg," %[^\t]",log.tipo);
  39.             cout<<"tipo: "<<log.tipo<<endl;
  40.             c=fscanf(reg," %[^\n]",log.fecha);
  41.             cout<<"fecha: "<<log.fecha<<endl;
  42.  
  43.             if(!(c1=strcmp(codigo_i,log.cod))&&!(c2=strcmp(pass2,log.pass)))
  44.             {
  45.                 principal(log);
  46.                 entrada=0;
  47.                 //llamar funcion principal!!
  48.                 break;
  49.             }
  50.         }
  51.         if(entrada)
  52.             cout<<"Pass o codigo incorrecto\n\n";
  53.         cout<<"DESEA CONTINUAR s/n";
  54.         c=0;
  55.         fclose(reg);
  56.         ciclo=getch();
  57.     }while(ciclo=='s'||ciclo=='S');
  58.     cout<<c1<<c2<<endl;  //me arroja los resultados de los strcmp 0-1
  59.     cout<<pass2<<endl;  //solo hace el salto de linea
  60.     cout<<codigo_i<<endl;  //imprime el codigo que ingrese
  61.     return 0;
  62. }
Espero ustedes puedan ver si hay algun problema que yo no localizo =(

Desde ahora gracias =)