Está en la página 1de 3

Universidad Nacional Jorge Basadre Grohmann Fundamentos de Programación

Práctica 07: Registros

1. Definición

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 ejemplo de eso sería hacer un registro de vendedores donde nos pedirían información sobre,
nombre, apellido, dirección, DNI, número de artículos, artículos vendidos, artículos que quedan,
precio de cada uno, el precio de todos los artículos de cada vendedor; para todo eso necesitaríamos
usar REGISTROS ya que solo con vectores no podríamos afrontar el problema.

1.1. Ejemplo
#include <iostream>
using namespace std;

int main()
{
struct
{
string nombre;
char inicial;
int edad;
float nota;
} persona;

persona.nombre = "Juan";
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5;
cout << "La edad es " << persona.edad;

return 0;
}

Como es habitual en C++, para declarar la variable hemos indicado primero el tipo de datos
(struct { ...} ) y después el nombre que tendrá esa variable (persona).

También podemos declarar primero cómo van a ser nuestros registros, y más adelante definir
variables de ese tipo:

Ing. Josué G. Valdez Ramirez Pág. 1


Universidad Nacional Jorge Basadre Grohmann Fundamentos de Programación

#include <iostream>
#include <string>
using namespace std;

int main()
{
struct datosPersona
{
string nombre;
char inicial;
int edad;
float nota;
};

datosPersona persona;

persona.nombre = "Juan";
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5;
cout << "La edad es " << persona.edad;

return 0;
}

2. Estructuras anidadas

Podemos encontrarnos con un registro que tenga varios datos, y que a su vez ocurra que uno de
esos datos esté formado por varios datos más sencillos. Para hacerlo desde C++, incluiríamos un
“struct” dentro de otro, así:

#include <iostream>
#include <string>
using namespace std;

struct fechaNacimiento
{
int dia;
int mes;
int anyo;
};

struct datosPersona
{
string nombre;
char inicial;
struct fechaNacimiento diaDeNacimiento;
float nota;
};

int main()

Ing. Josué G. Valdez Ramirez Pág. 2


Universidad Nacional Jorge Basadre Grohmann Fundamentos de Programación

{
datosPersona persona;

persona.nombre = "Ignacio";
persona.inicial = 'I';
persona.diaDeNacimiento.mes = 8;
persona.nota = 7.5;
cout << "La nota es " << persona.nota;

return 0;
}

3. Ejercicios en clase

- Elaborar un programa que guarde los siguientes datos de 5 alumnos : código, nombre,
edad, nota final. El programa deberá mostrar todos los registros ingresados.
- Elaborar un programa que almacene datos de una canción en formato MP3: Artista, Título,
Duración (en segundos), Tamaño del fichero (en KB). Un programa debe pedir los datos
de una canción al usuario, almacenarlos en dicho “struct” y después mostrarlos en pantalla.

4. Tarea

- Codificar un programa que guarde en un array de registros los siguientes datos de un


producto: código, nombre de producto, precio unitario, stock. El programa deberá
preguntar al usuario si se desea ingresar un registro mas. Si la respuesta es negativa el
programa debe mostrar los registros ingresados
- Implementar un programa que lea los siguientes datos de un alumno de colegio: nro de
matrícula, apellidos, nombres, edad, año académico, nota final. El programa debe
ordenar los registros por código y mostrarlos en pantalla
- Crear un programa que registre el nombre, año y las 3 calificaciones de un alumno, el
programa debe calcular el promedio y guardarlo en un campo de dicho registro. Mostrar
los registros finales con los promedios calculados
- Implementar el ejercicio anterior con un registro anidado para las notas del alumno

Ing. Josué G. Valdez Ramirez Pág. 3