Академический Документы
Профессиональный Документы
Культура Документы
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
};
5
Declaración de Registros
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;
};
10
Ejemplo de Registros
struct persona {
char codigo [8];
char nombre[50];
int edad;
} empleado; // declaración de variable empleado 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
13
Ejercicio
docente.id = 1234;
docente.nombre = "Noel Goddard";
docente.genero = 'F';
docente.numDepend = 0;
docente.tarifaHora = 12.00;
docente.sueldoTotal = 480.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