CHRISTIAN GONZALO LAYME FERNÁNDEZ
1
Curso: Programación de Sistemas Página:
5
Laboratorio Estructuras en C++
I
OBJETIVOS
● La presente práctica de laboratorio tiene como objetivo el uso de Estructuras en C++
II
TEMAS A TRATAR
● Estructura
● Declaración Típica de una Estructura
● Ejemplos de una Estructura
● Array de Registros
● Estructuras Anidadas
III
MARCO TEÓRICO
❖ ESTRUCTURA:
Una estructura es un grupo de variables relacionadas de manera lógica, las cuales
pueden ser de diferentes tipos y declaradas en una sola unidad, donde la unidad es la
estructura. Estas son una especie de híbrido entre las estructuras de C y las clases de
C++, de hecho, podrían ser sustituidas por clases definidas ya que disponen de tres
tipos de modificadores de acceso: público, privado y protegido, y el considerarlas
como tales, permite un mayor control de acceso de las estructuras.
En C++ se forma una estructura utilizando la palabra reservada struct, seguida por un
campo etiqueta opcional, y luego una lista de miembros dentro de la estructura. La
etiqueta opcional se utiliza para crear otras variables del tipo particular de la
estructura.
struct campo_etiqueta{
tipo_miembro miembro_1;
tipo_miembro miembro_2;
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
2
Curso: Programación de Sistemas Página:
:
tipo_miembro miembro_n;
};
Un punto y coma finaliza la definición de una estructura puesto que ésta es realmente
una sentencia C++.
❖ DECLARACIÓN TIPICA DE UNA ESTRUCTURA:
A continuación, se muestra una declaración típica de una estructura:
struct cuenta {
int num_cuenta;
char tipo_cuenta;
char nombre [80];
float saldo;
};
Esta estructura se llama cuenta, contiene cuatro miembros: un entero (num_cuenta),
un carácter (tipo_cuenta), un array de 80 caracteres (nombre [80]) y una cantidad en
coma flotante (saldo). La Figura ilustra esquemáticamente la composición de esta
estructura.
❖ EJEMPLOS DE UNA ESTRUCTURA:
#include <iostream>
using namespace std;
int main()
{
struct
{
string nombre;
char inicial;
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
3
Curso: Programación de Sistemas Página:
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;
}
#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;
}
❖ ARRAY DE REGISTROS:
Se pueden almacenar los de varias personas si combinamos el uso de los “struct” con
las tablas (arrays) que vimos anteriormente. La sintaxis no es exactamente la misma, y
tendremos que añadir la palabra "new" en el momento de reservar espacio. Por
ejemplo, si queremos guardar los datos de 100 alumnos podríamos hacer:
#include <iostream>
#include <string>
using namespace std;
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
4
Curso: Programación de Sistemas Página:
int main()
{
struct datosPersona
{
string nombre;
char inicial;
int edad;
float nota;
};
datosPersona *persona = new datosPersona[50];
for (int i=0; i<5; i++)
{
cout << "Dime el nombre de la persona " << i << endl;
cin >> persona[i].nombre;
}
cout << "La persona 3 es " << persona[2].nombre << endl;
return 0;
}
❖ 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 <string>
using namespace std;
struct fechaNacimiento
{
int dia;
int mes;
int anyo;
};
struct datosPersona
{
string nombre;
char inicial;
struct fechaNacimiento diaDeNacimiento;
float nota;
};
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
5
Curso: Programación de Sistemas Página:
int main()
{
datosPersona persona;
persona.nombre = "Ignacio";
persona.inicial = 'I';
persona.diaDeNacimiento.mes = 8;
persona.nota = 7.5;
cout << "La nota es " << persona.nota;
return 0;
}
La duración del laboratorio (actividades y ejercicios resueltos) será de (seis) 6 horas
académicas
IV
ACTIVIDADES
● Consideraciones: Instalar un IDE para la programación de C++. Puede ser Zinjal,
Visual Studio 2019, entre otros.
● ACTIVIDAD 2.
El estudiante debe entender los ejercicios resueltos
● ACTIVIDAD 2.
Revisar los ejercicios propuestos creando los archivos respectivos y un informe de
todos los programas utilizados y explicados por cada archivo.
V
EJERCICIOS RESUELTOS
Ejercicio 1.
Hacer una estructura en C++ que registre los datos de cinco personas como:
Nombre, apellido, edad, sexo y teléfono.
#include <iostream>
using namespace std;
struct persona{
char nombre[15];
char apellido[15];
int edad;
Magister Oscar Alberto Ramirez Valdez
char sexo[15];
Magister Roni Guillermo Apaza Aceituno
int main(){
6
Curso: Programación de Sistemas Página:
int telefono;
};
int main(){
persona amigo[5];
for (int i = 0; i < 5; i++){
cout <<"Escriba el Nombre "<<i+1<<":";
cin >> amigo[i].nombre;
cout <<"\nEscriba el Apellido "<<i+1<<":";
cin >> amigo[i].apellido;
cout <<"\nEscriba la Edad de "<<i+1<<":";
cin >> amigo[i].edad;
cout <<"\nEscriba el sexo "<<i+1<<":";
cin >> amigo[i].sexo;
cout <<"\nEscriba el Telefono de "<<i+1<<":";
cin >> amigo[i].telefono;
cout <<endl;
}
cout<<"El registro de personas que se introdujeron es: \n\n";
for (int i = 0; i < 5; i++){
cout<<"\t"<<amigo[i].nombre;
cout<<"\t"<<amigo[i].apellido;
cout<<"\t"<<amigo[i].edad;
cout<<"\t"<<amigo[i].sexo;
cout<<"\t"<<amigo[i].telefono<<"\n\n";
}
return 0;
}
Ejercicio 2.
Hacer un programa en C++ para registrar los datos de tres libros como: título,
autor, año y color del libro. El color se deberá hacer mediante una enumeración y
sólo habrá rojo, verde y azul.
#include <iostream>
using namespace std;
enum Color{
rojo,verde,azul
};
struct
Magister OscarLibro{
Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
7
Curso: Programación de Sistemas Página:
struct Libro{
char titulo[20],autor[20];
int anio;
Color color;
};
void datosLibro(Libro[]);
void mostrarLibro(Libro[]);
int main(){
Libro libro[3];
datosLibro(libro);
mostrarLibro(libro);
return 0;
}
void datosLibro(Libro libro[3]){
for(int i = 0; i < 3; i++){
cout <<"Titulo libro " <<i+1 <<endl;
cin.getline(libro[i].titulo,20);
cout <<"Autor libro " <<i+1 <<endl;
cin.getline(libro[i].autor,20);
cout <<"Año libro " <<i+1 <<endl;
cin >> libro[i].anio;
cin.ignore();
}
libro[0].color = rojo;
libro[1].color = verde;
libro[2].color = azul;
}
void mostrarLibro(Libro libro[3]){
for(int i = 0; i < 3; i++){
cout <<"Titulo: " <<libro[i].titulo <<endl;
cout <<"Autor: " <<libro[i].autor <<endl;
cout <<"Año: " <<libro[i].anio <<endl;
switch(libro[i].color){
case rojo:
cout <<"Color: Rojo" <<endl; break;
case verde:
cout <<"Color: Verde" <<endl; break;
case azul:
cout <<"Color: Azul" <<endl; break;
}
}
}
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
8
Curso: Programación de Sistemas Página:
Ejercicio 3.
Utilizando estructuras mostrar que loos atributos de una estructura pueden ser
inicializados con declaraciones en C++, inicializar exitosamente los atributos sin
mostrar error
//En C++ podemos inicializar las variables con declaraciones en la estructura
#include <iostream>
using namespace std;
struct Point {
int x = 0; // Esto es considerado argumentos por defecto
int y = 1; // sin error
};
int main()
{
struct Point p1;
//accediendo a los atribucos del punto p1
//Como no hay valor para inicializar se mantiene los valores iniciales
cout << "x = " << p1.x << ", y = " << p1.y <<endl;
//Inicializando el valor de y = 20
p1.y = 20;
cout << "x = " << p1.x << ", y = " << p1.y <<endl;
return 0;
}
Ejercicio 4.
Utilizando estructuras en C++, inicializar una estructura utilizando llaves, también
acceda a los atributos utilizando el operador punto
#include <iostream>
using namespace std;
struct Point {
int x, y;
};
int main()
{
struct Point p1 = { 0, 1 };
//Accesando a los atributos de un punto p1
p1.x = 20;
cout << "x = " << p1.x << ", y = " << p1.y << endl;
return 0;
}
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
9
Curso: Programación de Sistemas Página:
Ejercicio 5.
Utilizando estructuras en C++, crear una variable de tipo arreglo que guarde una
estructura punto
#include <iostream>
using namespace std;
struct Point {
int x, y;
};
int main()
{
//crear un arreglo de estructuras
struct Point arr[10];
//Accesando a los atributos del arreglo
arr[0].x = 10;
arr[0].y = 20;
cout << arr[0].x << " " << arr[0].y << endl;
return 0;
}
Ejercicio 6.
Utilizando estructuras en C++, crear una estructura puntero para acceder a los
atributos de un punto p2, definido en una estructura, recordar que para acceder a
los atributos de una estructura puntero se usa el operador flecha ->
#include <iostream>
using namespace std;
struct Point {
int x, y;
};
int main()
{
struct Point p1 = { 1, 2};
//p2 es un puntero a la estructura p1
struct Point* p2 = &p1;
//Accesando a los atributos usando la estructura puntero
cout << p2 -> x << " " << p2 -> y << endl;
return 0;
}
Ejercicio 7.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
10
Curso: Programación de Sistemas Página:
Utilizando estructuras en C++, crear una estructura en la clase main y asignarle el
nombre "Juan", letra inicial "J", la edad de 20 años, nota de 7.5 y que imprima la
edad
#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 << endl;
return 0;
}
Ejercicio 8.
Utilizando estructuras en C++, crear una estructura datospersona que ingrese los
datos nombre, letra inicial, edad, nota y que ingrese los datos "Juan", "J", 20, 7.5 y
que muestre la edad, datospersona sera un tipo y tendrá una variable persona en la
implementación del programa
#include <iostream>
#include <string>
using namespace std;
int main()
{
struct datosPersona
{
string nombre;
char inicial;
int edad;
float nota;
};
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
11
Curso: Programación de Sistemas Página:
datosPersona persona;
persona.nombre = "Juan";
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5;
cout << "La edad es " << persona.edad << endl;
return 0;
}
Ejercicio 9.
Utilizando estructuras en C++ crear un programa que pueda hacer una estructura
en C++ que registre los datos de cinco personas como: Nombre, apellido, edad,
sexo y teléfono
#include <iostream>
using namespace std;
struct persona{
char nombre[15];
char apellido[15];
int edad;
char sexo[15];
int telefono;
};
int main(){
persona amigo[5];
for (int i = 0; i < 5; i++){
cout <<"Escriba el Nombre "<<i+1<<":";
cin >> amigo[i].nombre;
cout <<"\nEscriba el Apellido "<<i+1<<":";
cin >> amigo[i].apellido;
cout <<"\nEscriba la Edad de "<<i+1<<":";
cin >> amigo[i].edad;
cout <<"\nEscriba el sexo "<<i+1<<":";
cin >> amigo[i].sexo;
cout <<"\nEscriba el Telefono de "<<i+1<<":";
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
12
Curso: Programación de Sistemas Página:
cin >> amigo[i].telefono;
cout <<endl;
}
cout<<"El registro de personas que se introdujeron es: \n\n";
for (int i = 0; i < 5; i++){
cout<<"\t"<<amigo[i].nombre;
cout<<"\t"<<amigo[i].apellido;
cout<<"\t"<<amigo[i].edad;
cout<<"\t"<<amigo[i].sexo;
cout<<"\t"<<amigo[i].telefono<<"\n\n";
}
return 0;
}
Ejercicio 10.
Utilizando estructuras en C++, crear estructuras anidadas para registrar los datos
de un trabajador y de una persona sin oficio.
#include <iostream>
using namespace std;
struct Fecha{
int dia,mes,anio;
};
struct Persona{
char nombre[20];
int edad,peso;
Fecha;
}persona = {"Cindy",20,45,2,12,1997};
struct Empleado{
Persona;
int salario;
}trabajador = {"Steven",19,60,22,7,1998,1000};
int main(){
cout <<"Persona: " <<persona.nombre;
cout <<"\nEdad: " <<persona.edad;
cout <<"\nPeso: " <<persona.peso;
cout <<"\nDia nacimiento: " <<persona.fecha.dia;
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
13
Curso: Programación de Sistemas Página:
cout <<"\nMes nacimiento: " <<persona.fecha.mes;
cout <<"\nAño nacimiento: " <<persona.fecha.anio;
cout <<"\n\n----------Trabajador----------" <<endl;
cout <<"\nTrabajador: " <<trabajador.persona.nombre;
cout <<"\nEdad: " <<trabajador.persona.edad;
cout <<"\nPeso: " <<trabajador.persona.peso;
cout <<"\nDia nacimiento: " <<trabajador.persona.fecha.dia;
cout <<"\nMes nacimiento: " <<trabajador.persona.fecha.mes;
cout <<"\nAño nacimiento: " <<trabajador.persona.fecha.anio;
cout <<"\nSalario: " <<trabajador.salario << endl;
return 0;
}
Ejercicio 11.
Utilizando estructuras en C++, escribir un programa que establezca las
coordenadas de una curva en el dominio [-3,3]. El programa sólo deberá pedir la
altura que tenga en el punto del dominio, luego, mostrar las coordenadas
resultantes.
#include <iostream>
using namespace std;
struct Punto{
int x,y;
};
int main(){
Punto punto[7] = {0,0};
for(int i = 0; i < 7; i++){
cout <<"Introduce la altura de la curva en " <<i - 3;
cout <<": ";
cin >> punto[i].y;
cout <<endl;
}
cout <<"Las coordenadas son: " <<endl;
for(int i = 0; i < 7; i++){
cout <<"(" <<i - 3 <<"," <<punto[i].y <<")\n";
}
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
14
Curso: Programación de Sistemas Página:
return 0;
}
Ejercicio 12.
Utilizando estructuras en C++, crear un programa donde se ingrese la fecha actual
y se comprube si corresponde al día de tu cumpleaños. Mostrar un mensaje de
felicitaciones si fuera el caso
#include <iostream>
using namespace std;
struct Fecha{
int dia,mes,anio;
};
int main(){
Fecha hoy, cumpleanios;
cout <<"Ingrese la fecha de hoy" <<endl;
cout <<"Dia: "; cin >> hoy.dia;
cout <<"Mes: "; cin >> hoy.mes;
cout <<"Año: "; cin >> hoy.anio;
cout <<"Ingrese su cumpleaños" <<endl;
cout <<"Dia: "; cin >> cumpleanios.dia;
cout <<"Mes: "; cin >> cumpleanios.mes;
cout <<"Año: "; cin >> cumpleanios.anio;
if(cumpleanios.dia == hoy.dia){
if(cumpleanios.mes == hoy.mes){
cout <<"FELIZ CUMPLEAÑOS. FELICITACIONES!!!!" <<endl;
}else{
cout <<"Hoy es el mismo dia de tu cumpleaños." <<endl;
cout <<"Pero de diferente mes. ";
}
}else{
cout <<"Hoy no es tu cumpleaños." <<endl;
}
return 0;
}
Ejercicio 13.
Utilizando estructuras en C++, mostrar que las estructuras en C no pueden tener
funciones miembro dentro de una estructura pero en estructuras en C++ pueden
tener funciones miembro así como atributos
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
15
Curso: Programación de Sistemas Página:
#include <iostream>
using namespace std;
struct marks {
int num;
void
Set(int temp)//Función niembro dentro de la estructura para tomar la
entrada y alojarla en "num"
{
num = temp;
}
void display()//funcion usada para mostrar los valores
{
cout << "num = " << num << endl;
}
};
//programa principal
int main()
{
marks m1;
m1.Set(9); //llamando a la función dentro de la estructura para inicializar
el valor de "num"
m1.display(); //llamando a la función dentro de la estructura para mostrar
el valor de "num"
}
Ejercicio 14.
Utilizando estructuras en C++ mostrar como las estructuras en C no se pueden
inicializar datos miembros en las estructuras en C++ nosotros podemos hacerlo
#include <iostream>
using namespace std;
struct Record {
int x = 7;
};
//programa principal
int main()
{
Record s;
cout << s.x << endl;
return 0;
}
Ejercicio 15.
Utilizando estructuras en C++ mostrar como en las estructuras en C++ se puede
tener miembros estáticos que no pueden ser posibles en C
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
16
Curso: Programación de Sistemas Página:
struct Record {
static int x;
};
//programa principal
int main()
{
return 0;
}
Ejercicio 16.
Utilizando estructuras en C++, crear un programa que muestre como las
estructuras en C no pueden tener constructores dentro de la estructura pero las
estructuras en C++ pueden tener constructores creados dentro
#include <iostream>
using namespace std;
struct Student {
int roll;
Student(int x)
{
roll = x;
}
};
//Programa principal
int main()
{
struct Student s(2);
cout << s.roll << endl;
return 0;
}
Ejercicio 17.
Utilizando estructuras en C++ mostrar como el operador sizeof genera 1 en una
estructura vacía en C++ el comportamiento de sizeof en C es diferente al generar 0
en la misma situación
#include <iostream>
using namespace std;
//estructura vacia
struct Record{
};
//Programa principal
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
17
Curso: Programación de Sistemas Página:
int main() {
struct Record s;
cout << sizeof(s) << endl;
return 0;
}
VI
EJERCICIOS PROPUESTOS
Nota: Para los siguientes ejercicios, programar de forma ordenada de tal manera que
las clases y/o estructuras queden definidas en archivos cabecera (.h), los métodos u
operaciones en un archivo .cpp y finalmente el programa principal en otro
archivo .cpp. Asimismo, debe utilizar la experiencia de la práctica anterior y debe
estar visible en el código.
● EJERCICIOS PROPUESTOS:
1. Escribir un programa para calcular el número de días que hay entre dos fechas;
declarar fecha como una estructura.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
18
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
19
Curso: Programación de Sistemas Página:
2. Escribir un programa de facturación de clientes. Los clientes tienen un
nombre, el número de unidades solicitadas, el precio de cada unidad y el
estado en que se encuentra: moroso, atrasado, pagado. El programa debe
generar a los diversos clientes.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
20
Curso: Programación de Sistemas Página:
Funciones:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
21
Curso: Programación de Sistemas Página:
3. Modificar el programa de facturación de clientes de tal modo que puedan
obtenerse los siguientes listados.
● Clientes en estado moroso.
● Clientes en estado pagado con factura mayor de una determinada cantidad.
Modificación:
Salida final
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
22
Curso: Programación de Sistemas Página:
4. Se quiere informatizar los resultados obtenidos por los equipos de baloncesto y
de futbol de la localidad Arequipeña. La información de cada equipo es:
● Nombre del equipo.
● Número de victorias.
● Número de derrotas.
Para los equipos de baloncesto añadir la siguiente información:
● Número de pérdidas de balón.
● Número de rebotes cogidos.
● Nombre del mejor anotador de triples.
● Número de triples del mejor anotador de triples.
Para los equipos de futbol añadir la información:
● Número de empates.
● Número de goles a favor.
● Nombre del goleador del equipo.
● Número de goles del goleador.
Escribir un programa para introducir la información para todos los integrantes
en ambas ligas.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
23
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
24
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
25
Curso: Programación de Sistemas Página:
Main:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
26
Curso: Programación de Sistemas Página:
5. Modificar el problema anterior (4) para obtener los siguientes informes o
datos:
● Listado de los mejores anotadores de triples de cada equipo.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
27
Curso: Programación de Sistemas Página:
● Máximo goleador de la liga de futbol.
● Suponiendo que el partido ganado significa tres puntos y el empate un
punto.
● Equipo ganador de la liga de futbol.
● Equipo ganador de la liga de baloncesto.
Modificación:
Salida Final:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
28
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
29
Curso: Programación de Sistemas Página:
6. Un programa que pida el nombre, el apellido y la edad de una persona, los
almacene en un “struct” y luego muestre los tres datos en una misma línea,
separados por comas.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
30
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
31
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
32
Curso: Programación de Sistemas Página:
7. Un programa que pida datos de ocho personas: nombre, dia de nacimiento,
mes de nacimiento, y año de nacimiento (que se deben almacenar en una tabla
de structs). Después deberá repetir lo siguiente: preguntar un número de mes y
mostrar en pantalla los datos de las personas que cumplan los años durante ese
mes. Terminará de repetirse cuando se teclee 0 como número de mes.
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
33
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
34
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
35
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
36
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
37
Curso: Programación de Sistemas Página:
8. Un programa que sea capaz de almacenar los datos de cincuenta personas:
nombre, dirección, teléfono, edad (usando una tabla de structs). Deberá ir
pidiendo los datos uno por uno, hasta que un nombre se introduzca vacío (se
pulse Intro sin teclear nada). Entonces deberá aparecer un menú que permita:
● Mostrar la lista de todos los nombres.
● Mostrar las personas de una cierta edad.
● Mostrar las personas cuya inicial sea la que el usuario indique.
● Salir del programa
● (lógicamente, este menú debe repetirse hasta que se escoja la opción de
“salir”).
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
38
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
39
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
40
Curso: Programación de Sistemas Página:
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno
41
Curso: Programación de Sistemas Página:
VII
CUESTIONARIO
¿La estructura en C++ puede reemplazar a la Clase? ¿Por qué?
Para declarar una clase, todo lo que se necesita es escribir una definición de estructura y
sustituir la palabra reservada struct por class.
Mencione otro lenguaje de programación que utilice Struct
Por ejemplo tenemos python que también usa struct.
VIII
BIBLIOGRAFÍA
[1] P.J. Deitel and H.M. Deitel, “Cómo Programar en C++”, México, Ed. Pearson
Educación, 2009
[2] B. Stroustrup, “El Lenguaje de Programación C++”, Madrid, Adisson Pearson
Educación, 2002
[3] B. Eckel, “Thinking in C++”, Prentice Hall, 2000
Magister Oscar Alberto Ramirez Valdez
Magister Roni Guillermo Apaza Aceituno