Archivos en c++

Iniciado por Aida, 22 Noviembre 2014, 20:39 PM

0 Miembros y 1 Visitante están viendo este tema.

Aida

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 (cpp) [Seleccionar]


void Prestamo::Mostrar()
{
ifstream prestamo("prestamo.txt");
ifstream objeto("usuarios.txt");
int dimension;
if(!prestamo.good())
  {
      cout<<"\nARCHIVO PRESTAMOS INEXISTENTE";
  }
  if(!objeto.good())
  {
     cout<<"\nARCHIVO USUARIOS INEXISTENTE";
  }
  else{
       prestamo.seekg(0,ios::end);
       int nreg=(prestamo.tellg()/sizeof(pr));
       int i;
   for(i=0;i<nreg;i++)
   {

       prestamo.read((char*)&pr,sizeof(Prestamo));


               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.id,dimension);
               strcpy(yo.id, cifrar(yo.id, dimension));
               yo.id[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.contra,dimension);
               strcpy(yo.contra, cifrar(yo.contra, dimension));
               yo.contra[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.tipo,dimension);
               strcpy(yo.tipo, cifrar(yo.tipo, dimension));
               yo.tipo[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.nombre,dimension);
               strcpy(yo.nombre, cifrar(yo.nombre, dimension));
               yo.nombre[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.fecha,dimension);
               strcpy(yo.fecha, cifrar(yo.fecha, dimension));
               yo.fecha[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.RFC,dimension);
               strcpy(yo.RFC, cifrar(yo.RFC, dimension));
               yo.RFC[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.telefono,dimension);
               strcpy(yo.telefono, cifrar(yo.telefono, dimension));
               yo.telefono[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.horario,dimension);
               strcpy(yo.horario, cifrar(yo.horario, dimension));
               yo.horario[dimension]='\0';
               objeto.read((char*)&dimension,sizeof(int));
               objeto.read((char*)&yo.LibrosPrestados,dimension);
               strcpy(yo.LibrosPrestados, cifrar(yo.LibrosPrestados, dimension));
               yo.LibrosPrestados[dimension]='\0';
               if(objeto.eof())
                   break;
           if(prestamo.eof())
           break;
       cout<<"\n\nFecha: "<<fechaprestamo<<endl;
       cout<<"\nFolio: "<<folio<<endl;
       cout<<"\nID: "<<idusuario<<endl;
       cout<<"\nStatus: "<<status<<endl;
       cout<<yo.id<<endl;
      if(strcmp(yo.id,idusuario)==0)
                  {

   cout<<"______________________________"<<endl;
   cout<<"ID: "<<yo.id<<endl;
   cout<<"Nombre: "<<yo.nombre<<endl;
   cout<<"______________________________"<<endl;
                   }
   }
  }
  prestamo.close();
  objeto.close();
}



De antemano Gracias

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.