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

Tecnológico Nacional de México

Campus Querétaro

Struct

Irineo Camacho María Guadalupe


Grupo: 6x

Estudiante de la carrera:

Ingeniería en Sistemas Computacionales

Profesor:

I.S.C. José de Jesús Gómez Benavides

Periodo:

Agosto-Diciembre 2019
Struct en C++
Ejercicios:

1.- Un programa que sea capaz de almacenar los datos de 5 personas: nombre, dirección,
teléfono, edad (usando una tabla de structs). Deberá ir pidiendo los datos uno por uno.
Entonces deberá aparecer un menú que permita:

 Mostrar la lista de todos los nombres con su dirección y teléfono.


 Mostrar las personas menores de 24 años.

Código c++:
#include <iostream>
#include <string>
using namespace std;

struct contacto{
char nombre[30];
string direccion;
char telefono[10];
int edad;

};

contacto *persona = new contacto[5];

int main(int argc, char *argv[]) {


int x;

for(int i=0; i<5; i++){

cout<<"\nPersona "<<i;
cout<<"\nIngresa el nombre: ";
cin>>persona[i].nombre;
cout<<"Ingresa su dirección: ";
cin.ignore();
getline(cin,persona[i].direccion);
cout<<"Ingresa su número telefónico: ";
cin>>persona[i].telefono;
cout<<"Ingresa su edad: ";
cin>>persona[i].edad;

cout<<"\t\t Menú\n";
cout<<"1.- Mostrar la lista de todos los nombres con su dirección y teléfono\n";
cout<<"2.- Mostrar las personas menores de 24 años\n";
cout<<"\nSelecciona una opción: ";
cin>>x;

switch(x){

case 1:{

for(int i=0; i<5; i++){

cout<<"\nPersona "<<i;
cout<<"\nNombre: "<<persona[i].nombre;
cout<<"\nDirección: "<<persona[i].direccion<<endl;
cout<<"\nTeléfono: "<<persona[i].telefono;
cout<<"\nEdad: "<<persona[i].edad;

} break;

case 2:{

for(int i=0; i<5; i++){

if(persona[i].edad<24){
cout<<"\nPersona "<<i;
cout<<"\nNombre: "<<persona[i].nombre;
cout<<"\nDirección: "<<persona[i].direccion;
cout<<"\nTeléfono: "<<persona[i].telefono;
cout<<"\nEdad: "<<persona[i].edad;
}

} break;

default: cout<<"No existe esa opción."; break;

return 0;
}
Capturas:
2. Desarrolle una estructura que guarde los datos de los 7 alumnos de la materia
programación en Lenguaje C, y los muestres por pantalla, la estructura debe tener (no. control,
nombre, apellido, edad, lugar de nacimiento, dirección y teléfono).

Código c++:
#include <iostream>
using namespace std;

struct datos{

char control[8];
char nombre[8];
char apellido[10];
int edad;
string nac;
string direccion;
char telefono[10];

};

datos *alumnos = new datos[7];

int main(int argc, char *argv[]) {

for(int i=0; i<7; i++){

cout<<"\nAlumno "<<i;
cout<<"\nNúmero de control: ";
cin>>alumnos[i].control;

cout<<"Nombre: ";
cin>>alumnos[i].nombre;

cout<<"Apellido: ";
cin>>alumnos[i].apellido;

cout<<"Edad: ";
cin>>alumnos[i].edad;

cout<<"Lugar de nacimiento: ";


cin.ignore();
getline(cin,alumnos[i].nac);

cout<<"Dirección: ";
cin.ignore();
getline(cin,alumnos[i].direccion);

cout<<"Teléfono: ";
cin>>alumnos[i].telefono;
}

cout<<"\n\t\tAlumnos de programación:\n";

for(int i=0; i<7; i++){

cout<<"\nAlumno "<<i;
cout<<"\nNúmero de control: "<<alumnos[i].control;

cout<<"\nNombre: "<<alumnos[i].nombre;

cout<<"\nApellido: "<<alumnos[i].apellido;

cout<<"\nEdad: "<<alumnos[i].edad;

cout<<"\nDirección: "<<alumnos[i].direccion;

cout<<"\nTeléfono: "<<alumnos[i].telefono;

return 0;
}

Capturas:
3. Escriba un programa que en una estructura guarde los datos de 5 amigos (as) suyos (as)
y los muestre por pantalla, utilizando para ello un arreglo de estructura, la misma estructura
contendrá (Nombre, Apellido, Edad, Sexo, Dirección, y Teléfono).

Código c++:
#include <iostream>
using namespace std;

struct datos{

char nombre[8];
char apellido[10];
int edad;
char sexo[15];
string direccion;
char telefono[10];

};

datos *amigos = new datos[5];

int main(int argc, char *argv[]) {

for(int i=0; i<5; i++){

cout<<"\nAmigo #"<<i;

cout<<"\nNombre: ";
cin>>amigos[i].nombre;

cout<<"Apellido: ";
cin>>amigos[i].apellido;

cout<<"Edad: ";
cin>>amigos[i].edad;

cout<<"Sexo: ";
cin>>amigos[i].sexo;

cout<<"Dirección: ";
cin.ignore();
getline(cin,amigos[i].direccion);

cout<<"Teléfono: ";
cin>>amigos[i].telefono;

for(int i=0; i<5; i++){

cout<<"\n\nAmigo #"<<i;
cout<<"\n\nNombre: "<<amigos[i].nombre;

cout<<"\nApellido: "<<amigos[i].apellido;

cout<<"\nEdad: "<<amigos[i].edad;

cout<<"\nSexo: "<<amigos[i].sexo;

cout<<"\nDirección: "<<amigos[i].direccion;

cout<<"\nTeléfono: "<<amigos[i].telefono;

return 0;
}

Capturas:
4. Desarrolle un arreglo de estructura para un programa que lea una lista de alumnos (probar
con 5 alumnos) y las notas correspondientes a una determinada asignatura; el resultado será
el tanto por ciento (porcentaje) de los alumnos aprobados y reprobados.

Código c++:
#include <iostream>
using namespace std;

struct datos{

int calif;

};

datos *notas = new datos[5];

int main(int argc, char *argv[]) {

int a=0, r=0, porcentaje1, porcentaje2;

for(int i=0; i<5; i++){

cout<<"Alumno "<<i;
cout<<"\nIngresa la calificación: ";
cin>>notas[i].calif;

if(notas[i].calif>=70){

a=a+1;

}else{

r=r+1;

}
}

porcentaje1=a*100/5;
porcentaje2=r*100/5;

cout<<porcentaje1<<"% aprobó\n";
cout<<porcentaje2<<"% reprobó";

return 0;
}
Capturas:

5. Escriba un programa que en una estructura se lleve el control de un inventario de cintas


de una tienda de video. Asegúrese de que la estructura incluya el título de la cinta, duración,
el precio de alquiler, la fecha en que se vendió, y la clasificación de la cinta.

Código C++:
#include <iostream>
using namespace std;

struct cintas{

string titulo;
string duracion;
int precio;
string fecha;
string clasificacion;

};

struct cintas inventario;

int main(int argc, char *argv[]) {

cout<<"Ingresa el título de la película: ";


cin.ignore();
getline(cin,inventario.titulo);
cout<<"Ingresa la duración: ";
cin.ignore();
getline(cin,inventario.duracion);
cout<<"Ingresa el precio: ";
cin>>inventario.precio;
cout<<"Ingresa la fecha: ";
cin.ignore();
getline(cin,inventario.fecha);
cout<<"Ingresa su clasificación: ";
cin.ignore();
getline(cin,inventario.clasificacion);

//--------------

cout<<"\n\nTítulo de la película: "<<inventario.titulo;


cout<<"\nDuración: "<<inventario.duracion;
cout<<"\nPrecio: "<<inventario.precio;
cout<<"\nFecha: "<<inventario.fecha;
cout<<"\nClasificación: "<<inventario.clasificacion;

return 0;
}

Capturas:
6. Establezca una estructura para almacenar datos relativos a los libros o revistas científicas
de una biblioteca (probar con 5). Por cada libro o revista científica, mostrar la siguiente
información:
a) Numero de referencia.
b) Titulo
c) Nombre del autor
d) Editorial
e) Clase de publicación (libro o revista)
f) Numero de edición (solo libros)
g) Año de publicación (solo libros)
h) Nombre de la revista (solo revistas)

c++:
#include <iostream>
#include <string.h>
using namespace std;

struct datos{

char n_ref[5];
string titulo;
string autor;
string editorial;
string clase;
int numero;
int year;
string nom_res;

};

datos *almacen = new datos[5];

int main(int argc, char *argv[]) {

for(int i=0; i<5; i++){

cout<<"Libro #"<<i;
cout<<"\nIngresa el numero de referencia: ";
cin>>almacen[i].n_ref;
cout<<"Ingresa el título: ";
cin.ignore();
getline(cin,almacen[i].titulo);
cout<<"Ingresa el autor: ";
cin.ignore();
getline(cin,almacen[i].autor);
cout<<"Ingresa la editorial: ";
cin.ignore();
getline(cin,almacen[i].editorial);
cout<<"Ingresa la clase: ";
cin.ignore();
getline(cin,almacen[i].clase);

if(almacen[i].clase=="libro"){

cout<<"Ingresa el numero de edición: ";


cin>>almacen[i].numero;
cout<<"Ingresa el año de publicación: ";
cin>>almacen[i].year;
almacen[i].nom_res=" ";

}else{

almacen[i].numero=0;
almacen[i].year=0;
cout<<"Ingresa el nombre de la revista: ";
cin.ignore();
getline(cin,almacen[i].nom_res);

for(int i=0; i<5; i++){

cout<<"\n\nLibro #"<<i;
cout<<"\nnumero de referencia: "<<almacen[i].n_ref;
cout<<"\ntítulo: "<<almacen[i].titulo;
cout<<"\nautor: "<<almacen[i].autor;
cout<<"\neditorial: "<<almacen[i].editorial;
cout<<"\nclase: "<<almacen[i].clase;

if(almacen[i].clase=="libro"){

cout<<"\nnumero de edición: "<<almacen[i].numero;


cout<<"\naño de publicación: "<<almacen[i].year;

}else{

cout<<"\nnombre de la revista: "<<almacen[i].nom_res;


}

return 0;
}

Captura: