UNIDAD 6: C++ REGISTROS Y ARCHIVOS DIRECTOS

TEMA 8: EDICION MODIFICACION DE REGISTROS C++


Modificar o editar un registro es uno de los procesos mas comunes con archivos en disco, generalmente despues de un fuerte proceso de captura de registros, una revisiĆ³n o consulta general muestra muchos de ellos con errores de captura.

vamos a editar el segundo registro.

Prog31.cpp

#include <stdio.h>
#include <conio.h>
#include <string.h>
struct {
int clave;
char nombre[30];
int edad;} animalito;
void main() {
clrscr();
// cargando clave a buscar
printf("dame clave editar:");
int claveb; scanf("%d",&claveb);
//abriendo, leyendo,cargando estructura
FILE *archdisco;
archdisco = fopen("cpp:\\ac\\archivo1.dat","rb+");
// usar fseek() para posicionarse al principio de registro buscado
fseek (archdisco, (long)(claveb)* sizeof(animalito), 0 );
// ahora se lee el registro
fread(&animalito,sizeof(animalito),1,archdisco);
// desplegando estructura y asegurandose
printf("%d ",animalito.clave);
printf("%s ",animalito.nombre);
printf("%d ",animalito.edad);
printf("\n");getchar();
//recapturando los nuevos datos
printf("dame nuevo nombre :");gets(animalito.nombre);
printf("dame nueva edad :");scanf("%d",&animalito.edad);
// regresando a apuntador para regrabar
fseek (archdisco, (long)(claveb)* sizeof(animalito), 0 );
fwrite(&animalito,sizeof(animalito),1,archdisco);
// no olvidar cerrar archivo
fclose(archdisco);
//avisando
printf("REGISTRO EDITADO");
getchar();getchar();
}

corrida:

image230.jpg

Observar que es el programa normal de busqueda pero ya desplegado el registro se piden los nuevos datos, posteriormente se regresa el apuntador de registros a la posiciĆ³n original para volverse a regrabar el registro pero con los datos ya editados.

TAREAS PROGRAMACION C++

CONSTRUIRLES PROGRAMAS DE EDICION O MODIFICACION A LOS ARCHIVOS YA CONSTRUIDOS.

Politica de Privacidad