/*borrar registros*/ /*funcion para borrar registros*/ void borra (void) { clrscr(); tama=sizeof (datos); if (((fichero)=fopen("agenda.dat","r+b"))==NULL) error (); gotoxy (15,12); printf ("Introduce el nombre a borrar:"); gets (nom); clrscr(); while (!feof (fichero)){ fread (&datos, sizeof (datos),1, fichero); if(strcmp(datos.nombre, nom)==0){ gotoxy (20,7); printf ("nombre: %S", datos.nombre); gotoxy (20,9); printf ("nombre: %S", datos.direccion); gotoxy (20,11); printf ("nombre: %S", datos.telefono); gotoxy (20,13); printf ("nombre: %S", datos.poblacion); gotoxy (20,15); printf ("estas seguro de querer borrarlo(s/):"); opc=toupper (getch ()); clrscr(); if (opc=='5'){ strcpy (datos.nombre,"*"); fseek (fichero,tama, SEEK_CUR); fwrite (&datos, sizeof (datos),1,fichero); break; } } } fclose (fichero); } /*Funcion de error de abertura*/ void error (void) { clrscr(); printf ("error!. No se puede abrir el fichero!"); getch(); exit (0); } /* imprimir fichero*/ void imprime (void) { FILE *imp; /*definicion de la propia impresora com a fitxer */ int indice; if (((fichero)=fopen("agenda.dat","r+b"))==NULL) error(); gotoxy (15,22); printf ("imprimiendo fichero...");
/*abrr el fichero de impresora */ imp= fopen("prn","W"); indice=1; while (!feof (fichero)){ fread (& datos, sizeof (datos), indice, fichero); } /*Imprime el registro*/ fprintf (imp,"%S%S%S%S\n",datos.nombre, datos.nombre, datos.direccion,datos.telefono,datos.poblacion); /*incrementa el indice del registro*/ indice++; { fcloseall();/*cierra todos los ficheros*/ } }
Respuestas (0)
» ayuda por favor con programa de base de datos « - ManelBit - 18/05/2009 17:14