Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Aida en 22 Noviembre 2014, 20:39 pm



Título: Archivos en c++
Publicado por: Aida en 22 Noviembre 2014, 20:39 pm
Hola que tal, tengo una duda en el manejo de archivos en C++
ok, lo que pasa aquí es que necesito buscar en dos archivos distintos y imprimir los que tengan igual ID de usuario
algo así llevo
Código
  1.  
  2. void Prestamo::Mostrar()
  3. {
  4. ifstream prestamo("prestamo.txt");
  5. ifstream objeto("usuarios.txt");
  6. int dimension;
  7. if(!prestamo.good())
  8.   {
  9.       cout<<"\nARCHIVO PRESTAMOS INEXISTENTE";
  10.   }
  11.   if(!objeto.good())
  12.   {
  13.      cout<<"\nARCHIVO USUARIOS INEXISTENTE";
  14.   }
  15.   else{
  16.        prestamo.seekg(0,ios::end);
  17.        int nreg=(prestamo.tellg()/sizeof(pr));
  18.        int i;
  19.    for(i=0;i<nreg;i++)
  20.    {
  21.  
  22.        prestamo.read((char*)&pr,sizeof(Prestamo));
  23.  
  24.  
  25.                objeto.read((char*)&dimension,sizeof(int));
  26.                objeto.read((char*)&yo.id,dimension);
  27.                strcpy(yo.id, cifrar(yo.id, dimension));
  28.                yo.id[dimension]='\0';
  29.                objeto.read((char*)&dimension,sizeof(int));
  30.                objeto.read((char*)&yo.contra,dimension);
  31.                strcpy(yo.contra, cifrar(yo.contra, dimension));
  32.                yo.contra[dimension]='\0';
  33.                objeto.read((char*)&dimension,sizeof(int));
  34.                objeto.read((char*)&yo.tipo,dimension);
  35.                strcpy(yo.tipo, cifrar(yo.tipo, dimension));
  36.                yo.tipo[dimension]='\0';
  37.                objeto.read((char*)&dimension,sizeof(int));
  38.                objeto.read((char*)&yo.nombre,dimension);
  39.                strcpy(yo.nombre, cifrar(yo.nombre, dimension));
  40.                yo.nombre[dimension]='\0';
  41.                objeto.read((char*)&dimension,sizeof(int));
  42.                objeto.read((char*)&yo.fecha,dimension);
  43.                strcpy(yo.fecha, cifrar(yo.fecha, dimension));
  44.                yo.fecha[dimension]='\0';
  45.                objeto.read((char*)&dimension,sizeof(int));
  46.                objeto.read((char*)&yo.RFC,dimension);
  47.                strcpy(yo.RFC, cifrar(yo.RFC, dimension));
  48.                yo.RFC[dimension]='\0';
  49.                objeto.read((char*)&dimension,sizeof(int));
  50.                objeto.read((char*)&yo.telefono,dimension);
  51.                strcpy(yo.telefono, cifrar(yo.telefono, dimension));
  52.                yo.telefono[dimension]='\0';
  53.                objeto.read((char*)&dimension,sizeof(int));
  54.                objeto.read((char*)&yo.horario,dimension);
  55.                strcpy(yo.horario, cifrar(yo.horario, dimension));
  56.                yo.horario[dimension]='\0';
  57.                objeto.read((char*)&dimension,sizeof(int));
  58.                objeto.read((char*)&yo.LibrosPrestados,dimension);
  59.                strcpy(yo.LibrosPrestados, cifrar(yo.LibrosPrestados, dimension));
  60.                yo.LibrosPrestados[dimension]='\0';
  61.                if(objeto.eof())
  62.                    break;
  63.            if(prestamo.eof())
  64.            break;
  65.        cout<<"\n\nFecha: "<<fechaprestamo<<endl;
  66.        cout<<"\nFolio: "<<folio<<endl;
  67.        cout<<"\nID: "<<idusuario<<endl;
  68.        cout<<"\nStatus: "<<status<<endl;
  69.        cout<<yo.id<<endl;
  70.       if(strcmp(yo.id,idusuario)==0)
  71.                   {
  72.  
  73.    cout<<"______________________________"<<endl;
  74.    cout<<"ID: "<<yo.id<<endl;
  75.    cout<<"Nombre: "<<yo.nombre<<endl;
  76.    cout<<"______________________________"<<endl;
  77.                    }
  78.    }
  79.   }
  80.   prestamo.close();
  81.   objeto.close();
  82. }
  83.  
  84.  

De antemano Gracias


Título: Re: Archivos en c++
Publicado por: engel lex en 22 Noviembre 2014, 21:24 pm
Prohibido hacer doble post, si quieres agregar algo al tema usa el boton modificar, pero no publiques 2 veces seguidas

Procura usar etiquetas GeSHi cuando publiques tu código