Registros en C++

Registro (estructura de datos) En los arrays, todos los elementos deben ser del mismo tipo. Pero hay ocasiones en las qu

Views 144 Downloads 3 File size 100KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Registro (estructura de datos) En los arrays, todos los elementos deben ser del mismo tipo. Pero hay ocasiones en las que debemos agrupar elementos de diversa naturaleza: para eso existen las estructuras o registros. Una estructura, por tanto, es una agrupación bajo el mismo nombre de varios datos cuyos tipos pueden ser diferentes En los arrays, todos los elementos deben ser del mismo tipo. Pero hay ocasiones en las que debemos agrupar elementos de diversa naturaleza: para eso existen las estructuras o registros. Una estructura, por tanto, es una agrupación bajo el mismo nombre de varios datos cuyos tipos pueden ser diferentes Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,...), 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 colección de datos iguales, es decir, todos del mismo tipo, mientras que en una estructura los elementos que la componen, aunque podrían serlo, no tiene porque ser del mismo tipo.

Registro en bases de datos El concepto de registro que se acaba de presentar es muy similar al concepto de registro en bases de datos, este segundo se refiere a una colección de datos que hacen referencia a un mismo ítem que se van a guardar en una fila de una tabla de la base de datos...

Declaración de estructuras Las estructuras se declaran en la zona habitual de declaración de variables, utilizando esta sintaxis:

Nombre_Registro = Registro { Dato1: tipo1 Dato1: tipo2 Dato2: Tipo3 ... DatoN: tipoN };

Cada dato que forma parte de la estructura o registro se denomina miembro. Posteriormente a la definición, se pueden declarar variables cuyo tipo sea la estructura que hayamos definido. Cada una de esas variables contendrá, en realidad, todos los datos miembro de que conste la estructura. Por ejemplo: Por ejemplo: Ficha = Registro

{ Nombre: Cadena DNI : Cadena Edad : Entero } Después de declarar un tipo estructura, podemos declarar una variable de ese tipo de la forma: Variable: tipo Nombre_Registro Por Ejemplo: para nuestro ejemplo sería: Persona: tipo Ficha Gráficamente se puede representar en el siguiente esquema:

Manipulación de estructuras Una vez que se tiene una variable compleja definida mediante una estructura surge la pregunta: ¿cómo se puede manipular cada uno de los elementos individuales (miembros) que forman parte de la estructura?

El acceso a los miembros se realiza con el nombre de la variable y el del miembro separados por un punto, así: Variable_registro.miembro

Lógicamente, para escribir un miembro en la pantalla, leerlo por teclado o realizar con él cualquier otro proceso, se utiliza la misma sintaxis.

El acceso a los miembros o elementos del registro Persona sería: Persona.Nombre = Juan Perez Persona.DNI = 447678 Persona.Edad = 18

Paso de estructuras a funciones Al manejar estructuras en un programa modular pueden darse dos situaciones: 1. Que queramos pasar una estructura completa como parámetro a una función 2. Que queramos pasar sólo un miembro de una estructura como parámetro a una función

Paso de estructuras completas como parámetros Las variables basadas en estructuras se pueden pasar como parámetros por valor o por referencia, existiendo entre ambos métodos las mismas diferencias que en los tipos de datos simples.

ARREGLO DE ESTRUCTURAS Cuando los elementos de un array son de tipo estructura, el arreglo recibe el nombre de array de estructuras o array de registros. Esta es una construcción muy útil y potente.

Ejemplo: Crear una lista de alumnos y sus correspondientes notas de final de curso, dando como resultado el tanto por ciento de alumnos aprobados y desaprobados.

La implementación del algoritmo en lenguaje C++ es: // REGISTRO.CPP #include #include #include struct ficha {char codigo[8]; char nombre[20]; float nota[3]; float prom; }persona; main() { persona alumno[10]; int n,i,a=0; clrscr(); coutn; for (i=1; i