elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ARchivos C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ARchivos C  (Leído 1,398 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
ARchivos C
« en: 15 Abril 2011, 07:53 am »

Buenas señores desearia que me ayudaran con este tipo de archivos ,este programa nos paso mi profesor pero necesito mas ejemplso si ustedes tuvieran algunos y  me pudieran explicar algo  les agradeceria bastante .....
estos son  archivos con encabezado........

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <IO.h>
  4. #include <string.h>
  5. #include <sys\STAT.h>
  6. #include <FCNTL.h>
  7. using namespace std;
  8. long int pos=0;
  9. int fd = 0,lr,le,x;
  10.  
  11. struct encabezado{
  12.         int NRS;
  13.         int PR;
  14.       }e;  
  15. struct registro{
  16.         int NR;
  17.         char NOM[20];
  18.         int PTJE;
  19.         int SR;
  20. }n,a,s;
  21.  
  22. void escribir()
  23. {
  24.  char rpta;
  25.  char band;
  26.  if((fd = creat("a3.txt",S_IWRITE | S_IREAD)) < 0)//devuelve un entero si es q lo logra crear
  27.       {
  28.        cout<<"No se pudo crear"<<endl;
  29.        system("PAUSE");
  30.        exit(0);    
  31.       }
  32.  
  33.  le = sizeof(struct encabezado);    
  34.  lr = sizeof(struct registro);
  35.  lseek(fd,le,0);
  36.  e.PR = -1;
  37.  e.NRS = 0;
  38.  
  39.  do{
  40.      band='F';
  41.      fflush(stdin);
  42.      n.NR = ++e.NRS;
  43.      cout<<"Nombre: ";gets(n.NOM);
  44.      fflush(stdin);
  45.      cout<<"Puntaje: ";cin>>n.PTJE;
  46.      if(e.PR==-1)
  47.          { n.SR=e.PR;
  48.            e.PR=n.NR;
  49.          }
  50.      else
  51.          {
  52.          x=e.PR;    
  53.          while(x!=-1)
  54.                  {
  55.                  pos=(x-1)*lr + le;
  56.                  lseek(fd,pos,0);
  57.                  read(fd,&s,lr);
  58.                  if(strcmp(n.NOM,s.NOM)>0)
  59.                      {band='V'; a=s; x=s.SR; continue;}
  60.                  if(strcmp(n.NOM,s.NOM)<0) x=-1;
  61.                  };
  62.          if(band=='F')
  63.              {n.SR=e.PR;
  64.               e.PR=n.NR;
  65.               lseek(fd,0,2);
  66.              }
  67.          else
  68.              { n.SR=a.SR;
  69.                a.SR=n.NR;
  70.                pos=(a.NR-1)*lr+le;
  71.                lseek(fd,pos,0);
  72.                write(fd,&a,lr);
  73.                lseek(fd,0,2);                              
  74.              }
  75.         }
  76.      write(fd,&n,lr);
  77.      cout<<"INGRESAR MAS REGISTROS (s/n): "<<endl;
  78.      cin>>rpta;
  79.  }while(rpta == 's');
  80.  
  81.  lseek(fd,0,0);
  82.  write(fd,&e,le);
  83.  close(fd);
  84. }
  85.  
  86. void leer()
  87. {
  88.     if((fd = open("a3.txt",O_TEXT)) < 0)//devuelve un entero si es q lo logra crear
  89.       {
  90.        cout<<"No se pudo abrir"<<endl;
  91.        system("PAUSE");
  92.        exit(0);    
  93.       }
  94.     le = sizeof(struct encabezado);    
  95.     lr = sizeof(struct registro);  
  96.     read(fd,&e,le);
  97.  
  98.     cout<<"PR : "<<e.PR<<" NRS : "<<e.NRS<<endl;
  99.     cout<<"NR\t " << "Nombre\t" << "Ptje\t"<<"SR"<<endl;
  100.     x=e.PR;    
  101.     while(x!=-1)
  102.        {
  103.        pos=(x-1)*lr + le;
  104.        lseek(fd,pos,0);
  105.        read(fd,&a,lr);
  106.        cout<<a.NR<<"\t"<<a.NOM<<"\t"<<a.PTJE<<"\t"<<a.SR<<endl;
  107.        x=a.SR;
  108.        }
  109.     close(fd);  
  110.      }
  111.  
  112.  
  113.  
  114. int main(int argc, char *argv[])
  115. {
  116.    int op;
  117.    do{ cout<<"LISTA ENLAZADA ORDENADA"<<endl;
  118.        cout<<"1.escribir  2.leer   3.Salir"<<endl;
  119.        cin>>op;
  120.        switch(op){
  121.                   case 1:    escribir();break;
  122.                   case 2:    leer();break;
  123.                   case 3:    break;
  124.                   };
  125.        }while(op!=3);
  126.    system("PAUSE");
  127.    return EXIT_SUCCESS;
  128. }
  129.  
  130.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
archivos .swf
Diseño Gráfico
..SnIgCiO.. 3 2,799 Último mensaje 28 Septiembre 2003, 12:57 pm
por 4e,65,6f
como puedo convertir archivos flash ha archivos de videos
Diseño Gráfico
asitaka_kintaro 3 6,155 Último mensaje 22 Enero 2006, 23:53 pm
por Morris
Encontrar archivos de videos flahs en archivos temporales.
Multimedia
Akaronte 2 6,220 Último mensaje 21 Octubre 2008, 22:09 pm
por Novlucker
Análisis archivos Extensiones cambiadas - Archivos camuflados - Contenido real « 1 2 »
Software
Esgrimidor 11 9,098 Último mensaje 24 Septiembre 2011, 01:53 am
por Esgrimidor
Cómo? Modificar archivos de la carpeta archivos de programas en windows 7 « 1 2 »
Windows
anonimo12121 10 22,759 Último mensaje 10 Abril 2011, 01:02 am
por Songoku
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines