Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Diciembre 05, 2008, 12:00:01
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++ (Moderador: Fashion)  |  Tema: ayuda urgente archivo 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: ayuda urgente archivo  (Leído 103 veces)
sssssssss
Recien Llegado
*
Desconectado Desconectado

Mensajes: 1


sol29_@hotmail.com
Ver Perfil Email
« en: Diciembre 13, 2007, 09:32:54 »

juegos gratis
Buenas a todos tengo un problem me falta en un archivo eliminar y modificar
esto segun busqueda de rut
aqui adjunto lo q tengo
/*archivo*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<dos.h>

struct al
     {
     char rut_a[12];
     char ap1_a [10];
     char ap2_a[10];
     char nom_a[10];
     char cur_a[5];
     char fep_a[8];
     char fed_a[8];
     char est_a[2];
     char col_a[5];
     };

main (void)
   {
   FILE *pa, *pb;
   int i,comp=1;
   char op1, auxrut[12];
   struct al alu, aux;
   clrscr();

   do
    {
     printf("\n MENU");
     printf("\n ------");
     printf("\n 1...INGRESAR DATOS: ");
     printf("\n 2...ELIMINAR DATOS: ");
     printf("\n 3...SALIR: ");
     printf("\n OPCION[ ]\b\b");
     op1=getch();
    switch(op1)
   {
   case '1':
   clrscr();
   if(!(pa=fopen("alumnos.cec","a")))
    {
    printf("\n no puedo crear el archivo ! \n");
    getch();
    }
    else
    while(comp!=0)
   {
   clrscr();
   printf("(Para finalizar ingrese (***)\nRUT: ");
   gets(alu.rut_a);
   alu.rut_a[12]='\0';
   comp=strcmp("***",alu.rut_a);
   if(comp!=0)
    {
    printf("apellido paterno: ");
    gets(alu.ap1_a);
    alu.ap1_a[10]='\0';
    printf("apellido materno: ");
    gets(alu.ap2_a);
    alu.ap2_a[10]='\0';
    printf("nombre: ");
    gets(alu.nom_a);
    alu.nom_a[10]='\0';
    printf("curso: ");
    gets(alu.cur_a);
    alu.cur_a[5]='\0';
    printf("fecha pedido: ");
    gets(alu.fep_a);
    alu.fep_a[8]='\0';
    printf("fecha devolucion: ");
    gets(alu.fed_a);
    alu.fed_a[8]='\0';
    printf("estado: ");
    gets(alu.est_a);
    alu.est_a[2]='\0';
    printf("codigo libro: ");
    gets(alu.col_a);
    alu.col_a[5]='\0';
    printf("\n\n");
    fwrite(&alu,sizeof(alu),1,pa);
    }
   }
   fclose(pa);
   clrscr();
   printf("ahora se leen los datos...\n");
   if(!(pa=fopen("alumnos.cec","r")))
    {
    printf("\n\n no se puede abrir el archivo\n");
    getch();
    }
   else
   do
    {
    if (fread( & alu,sizeof(alu),1,pa))
     {
     clrscr();
     printf("\n rut :%s", alu.rut_a);
     printf("\n apellido paterno :%s", alu.ap1_a);
     printf("\n apellido materno :%s", alu.ap2_a);
     printf("\n nombre :%s", alu.nom_a);
     printf("\n curso :%s", alu.cur_a);
     printf("\n fecha pedido :%s", alu.fep_a);
     printf("\n fecha devolucion :%s", alu.fed_a);
     printf("\n estado :%s", alu.est_a);
     printf("\n codigo libro :%s", alu.col_a);
     getch();
     }
    else
    printf("\n\n No quedan m s registros\n\n");
    }
   while(!feof(pa));
   fclose(pa);
   break;

   case '2':
   clrscr();
   if((pa=fopen("alumnos.cec","r"))==NULL)
     printf("Error al encontrar el archivo");
  if((pb=fopen("aux.cec","w"))==NULL)
     printf("Error al crear el archivo");

       do
   {
   if (fread( & alu,sizeof(alu),1,pa))
    {
   clrscr();
   printf("Ingrese RUT a eliminar: ");
   gets(auxrut);
   if(strcmp(auxrut,alu.rut_a)==0)
     {
     printf("Registro Eliminado... ");
     getch();
     }
    else
     fwrite(&aux, sizeof(aux),1,pb);
     }
    }
   while(!feof(pa));
   fclose(pa);
   fclose(pb);

      if((pa=fopen("alumnos.cec","w"))==NULL)
       printf("Error al crear el archivo");
      if((pb=fopen("aux.cec","r"))==NULL)
       printf("Error al abrir el archivo");

       do
   {
   clrscr();
    if (fread( & aux,sizeof(aux),1,pb))
    fwrite(&alu, sizeof(alu),1,pa);
    }
   while(!feof(pb));
   fclose(pa);
   fclose(pb);
   getch();
   break;
      }
  }
  while(op1!='3');
  return(0);
 }
En línea
FreakMind
Habitual
*****
Desconectado Desconectado

Mensajes: 194



Ver Perfil
« Respuesta #1 en: Diciembre 13, 2007, 09:44:28 »

Buenas

Primero que nada creo que te vendria bien levantar el archivo a memoria... o al menos parte de el

Salu2, FreakMind
En línea

Connoisseurs of C semantics find C++ inferior to ++C

Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++ (Moderador: Fashion)  |  Tema: ayuda urgente archivo « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC