Вы находитесь на странице: 1из 21

Registros y Arreglos de

Registros
MSc. Cesar Luza Montero.
cluza@uigv.edu.pe
Objetivos de Aprendizaje
• Al final de esta sesión el estudiante:
• Elabora programas para implementar y manipular registros y
arreglo de registros.

2
Concepto de Registros
• Un Registro es una estructura de datos, contigua y estática, formada
por una colección finita de elementos no necesariamente
homogéneos.
• Ejemplos:
• Persona (nombre, edad, D.N.I.,...)
• Libro (titulo, autor, precio, disponible/agotado,...)
• El acceso se realiza a través del nombre del registro seguido del
campo específico al que se desea acceder.
• Ejemplos:
• Persona.nombre
• Libro.titulo

3
Declaración de Registros
• Los registros en C++ se declaran poniendo la palabra struct delante
del nombre del tipo y colocando entre llaves los tipos y nombres de
sus campos:
• struct nombreRegistro
•{
Tipo1 Campo1;
Tipo2 Campo2;
...
• };

4
Declaración de Registros
struct persona Nombre del registro
{
int edad; Nombres de los
string nombre; campos
};

Declare un registro para alumno y otro para asignatura

5
Declaración de Registros

Los registros o estructuras definen nuevos tipos de datos que podemos


utilizar a lo largo del programa.
Es decir, una vez declarada la estructura podemos utilizar y declarar
variables de ese nuevo tipo (igual como si declarásemos variables de tipo
entero o real.).

Ejemplo:
struct persona // declaramos la variable profesor /de tipo
{ // persona
int edad; persona profesor; //se separa memoria
char nombre[50];
}; ¿Qué estamos declarando?
persona empleado;

6
Declaración de Registros

7
Ejemplo de Registros
• El gerente de una empresa de software le ha pedido que mantenga
información organizada y accesible sobre su p ersonal. Como parte
de su plan, le gustaría cierta información sobre cada empleado.
• Un ejemplo podría verse así:
• ID = 1234
• Nombre = José Perez
• Genero
• Numero de dependientes = 2
• Tarifa por hora = 12.00
• Salario total = 480.00

8
Ejemplo de Registros
• Esta información se puede almacenar en un struct con seis
elementos de datos.

struct empleado
{
Int ID;
string nombre;
char genero;
int numDependientes;
float tarifaHora;
float sueldoTotal;
};
empleado docente;

9
Ejemplo de Registros
• This information can be stored in a struct with six data
elements. The struct type declaration describes the format
of each struct including the name and type of each data
element, or struct member.

struct employee
{
int id;
string name;
char gender;
int numDepend;
float rate;
float totWages;
};

employee organist, janitor;

10
Ejemplo de Registros
struct persona {
char codigo [8];
char nombre[50];
int edad;
} empleado; // declaración de variable empleado de tipo persona

struct persona alumno; // variable alumno de tipo persona

persona profesor; // declaramos la variable profesor de tipo persona

11
Referencia a un campo

• Se utiliza el selector: .
• Ejemplos
▫ empleado.nombre;
▫ empleado.edad;

12
Referencia a un campo
alumno.edad = 20; // el campo edad de alumno vale 20

cin >> alumno.nombre;

13
Ejercicio
docente.id = 1234;
docente.nombre = "Noel Goddard";
docente.genero = 'F';
docente.numDepend = 0;
docente.tarifaHora = 12.00;
docente.sueldoTotal = 480.0;

docente.sueldototal += (docente.tarigfaHora * 40.0);

14
Registros
Después de la ejecución de estas sentencias, ¿que se muestra en pantalla?
cout << “El docente es ";
switch (docente.genero)
{
case 'F': case 'f':
cout << "Ms. ";
break;
case 'M': case 'm':
cout << "Mr. ";
break;
default:
cout << docente.genero<< " es carácter errado para
genero " << endl;
}
cout << docente.nombre << endl;

15
Operaciones sobre Registros
• Asignación
▫ La manera de acceder a cada uno de los campos es mediante el operador de
acceso ‘.’ :
 NomVar.Campo1
▫ El tratamiento de cada uno de estos campos depende de su tipo (si es un entero
lo asignaremos y trataremos como entero, si es un vector como un vector, si es
un string como un string,...).
 NomVar.Campo1 ← Valor
▫ Ejemplos: Si p es una variable que define a una persona
 p.Nombre ← “Pepe”
 p.Edad ← 45
 p.DNI ← 45678987
 p.Sexo ← 'H'

16
Creación y asignación
Registro persona per : persona
▫ Nombre: string …
▫ Edad : entero Escribir (“Dame el nombre: \n“)
▫ DNI : entero
Leer (per.Nombre)
▫ genero : carácter
Escribir (“Dame la edad: \n“)
Fin_Registro
Leer (per.Edad)
Escribir (“Dame el D.N.I.: \n“)
Elabore un programa en C++
para implementar este pseudo Leer (per.DNI)
codigo Escribir (“Dame el genero: \n“8)
Leer (per.genero)

17
Arreglos de Registros
struct employee
{
int id;
string name;
char gender;
int numDepend;
float rate;
float totWages;
};
//Declaración del arreglo
employee company [10];

18
Ejercicio
Elabore un programa para
almacenar en un arreglo de
registros los datos de los alumnos
de la facultad

19
Preguntas

20
20
21 21

Вам также может понравиться