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

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad