UNIDAD 5: C++ REGISTROS Y ARCHIVOS SECUENCIALES

TEMA 11: EDICION DE REGISTROS C++


Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva informacíón o para corregir algun error de captura original o para agregar alguna columna que no existia por modificación de la tabla o la base de datos.

La solucion es similar a los temas anterior, es decir se ocupan los dos archivos el original y el temporal y ya sea que se modifique una sola clave o se modifiquen todos los registros el ejemplo que se construye va mostrando los registros del archivo y pregunta y modifica o edita el registro pedido.

Prog24.cpp

#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <conio.h>
#include <string.h>
struct {
int matricula;
char nombre[30];
int edad;} alumno;
void main() {
clrscr();
// cargando clave a editar
printf("dame matricula editar:");
int clave; scanf("%d",&clave);getchar();
FILE *arch1;
FILE *arch2;
arch1 = fopen("cpp:\\ac\\alumnos.dat","r+");
arch2 = fopen("cpp:\\ac\\temporal.dat","at+");
// aqui siempre debe empezar el ciclo de lectura
// y fread() regresa siempre cuantas estructuras leyo
while(fread(&alumno,sizeof(alumno),1,arch1)==1)
{
if ( clave == alumno.matricula)
{
printf("dame nuevo nombre :");gets(alumno.nombre);
printf("dame nueva edad :");scanf("%d",&alumno.edad);
fwrite(&alumno,sizeof(alumno),1,arch2);
}
else
{
fwrite(&alumno,sizeof(alumno),1,arch2);
};
}; // aqui termina while
//cerrando archivos
fclose(arch1);
fclose(arch2);
// removiendo y renombrando archivos
// recordar que directorios y archivos de datos no
// mas de 8.3 letras
remove("cpp:\\AC\\ALUMNOS.DAT ");
rename("cpp:\\AC\\TEMPORAL.DAT","cpp:\\AC\\ALUMNOS.DAT ");
//avisando
puts("REGISTRO EDITADO");
getchar();getchar();
}

corrida:

image218.jpg

corrida prog19.cpp

image219.jpg

TAREAS PROGRAMACION C++

1.- construir programas de edición para sus archivos

Politica de Privacidad