Sunteți pe pagina 1din 9

Instituto Tecnolgico Spencer W.

Kimball Huehuetenango

Bachiller Industrial y Perito en Computacin Estructura de Datos Prof. lvaro Martnez

REGISTROS

Abisai Herrera Herrera Sexto Grado 5 de Junio de 2013

REGISTROS EN C++ 2013

Introduccin
Registros Es un tipo de dato estructurado que consta de un conjunto de elementos que pueden ser del mismo tipo o de tipos diferentes, tambin llamados bases de datos. A continuacin la explicacin completa de este tema.

REGISTROS EN C++ 2013


Contenido
REGISTRO ............................................................................................................................................ 4 SINTAXIS .............................................................................................................................................. 4 OPERACIONES CON REGITROS C++ ..................................................................................................... 4 EJEMPLO FUNCIONAL DE UN REGISTRO ............................................................................................. 7

REGISTROS EN C++ 2013


REGISTRO
Un registro, en programacin, es un tipo de dato estructurado formado por la unin de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carcter,...), o bien otras estructuras de datos. A cada uno de esos elementos se le llama campo. Un registro se diferencia de un vector en que ste es una coleccin de datos iguales, es decir, todos del mismo tipo, mientras que en una estructura los elementos que la componen, aunque podran serlo, no tiene porque ser del mismo tipo.

SINTAXIS
typedef struct TipoNodo { int dato; } TNodo;

OPERACIONES CON REGITROS C++


En este tema se analiza la manera de poder realizar operaciones o procesos con los campos de los registros en el archivo DIRECTO, lo nico importante a considerar es que los campos del registro son en cierta medida igual que variables normales y por tanto se pueden procesar de manera normal como lo muestra el ejemplo.
#include <stdio.h> #include <io.h> #include <conio.h> #include <string.h> struct { int clave; char nombre[30];

REGISTROS EN C++ 2013


int edad;} animalito; void main() { clrscr(); FILE *arch1; long r=0; arch1 = fopen("cpp:\\ac\\archivo1.dat","rb+"); while (fread(&animalito,sizeof(animalito),1,arch1)==1) { // sumando 100 a edad animalito.edad = animalito.edad + 100 ; // como ya se leyo se regresa el apuntador al principio del registro fseek(arch1,r*sizeof(animalito),0 ); // y se escribe el registro modificado al archivo fwrite(&animalito,sizeof(animalito),1,arch1); r=r+1; //turboc no permite i/o archivos sin un rewind, fseek, etc fseek(arch1,r*sizeof(animalito),0); }; // aqui termina for //cerrando archivo fclose(arch1); //avisando puts("EDADES + 100"); getchar();getchar(); }

REGISTROS EN C++ 2013


corrida prog27:

corrida prog30

corrida prog27

Como se observa la solucin es muy sencilla solo se ocupa: 1.- leer fread() el registro, esto mueve el apuntador al siguiente registro. 2.- modificar registro 3.- regresar a posicin anterior con fseek() 4.- grabar fwrite() el registro corregido 5.- volver a usar un fseek() porque turboc no acepta i/o sin rewind, fseek, etc ver ayuda del compilador y no se ocupan los dos archivos como en el caso secuencial.

REGISTROS EN C++ 2013


EJEMPLO FUNCIONAL DE UN REGISTRO
#include <stdio.h> #include <conio.h> #include <string.h> struct { int matricula; char nombre[30]; int edad;}alumno; void main() { clrscr(); // captura de campos printf("dame matricula :");scanf("%d",&alumno.matricula);getchar(); printf("dame nombre :");gets(alumno.nombre); printf("dame edad :");scanf("%d",&alumno.edad); // area de operaciones alumno.edad = alumno.edad * 12; // area de salida printf("MATRICULA =%d \n",alumno.matricula); printf("NOMBRE =%s \n",alumno.nombre); printf("MESES =%d \n",alumno.edad); getchar();getchar(); }

REGISTROS EN C++ 2013

CONCLUSIONES:
Un registro, en programacin, es un tipo de dato estructurado formado por la unin de varios elementos bajo una misma estructura Un registro se diferencia de un vector en que ste es una coleccin de datos iguales.

REGISTROS EN C++ 2013

EGRAFIA:
www.foro.lospillaos.es C, C#, Visual C++ http://es.wikipedia.org/wiki/Registro

S-ar putea să vă placă și