Crear un proyecto de consola para registrar las personas que se inscriben en un equipo formado por personas de distintas edades, los datos que se piden para la inscripción son:
- Nombre
- Edad
- Sexo
Al final de la carga, se desea conocer la siguiente información que debe ser mostrada por pantalla.
- Edad del Mayor participante
- Nombre del mayor participante
- Edad del menor participante
- Nombre del menor participante
- Promedio de Edades
- Cantidad de edades menores a 20 años
- Cantidad de edades menores o iguales que 20 años
- Cantidad de Hombres
- Cantidad de Mujeres
- Cantidad de Personas en el equipo
Código
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
using namespace std;
void printBanner()
{
cout <<" " << endl;
cout <<" 8 8888888888 ,o888888o. 8 8888 88 8 8888 8 888888888o ,o888888o. d888888o. " << endl;
cout <<" 8 8888 . 8888 `88. 8 8888 88 8 8888 8 8888 `88. . 8888 `88. .`8888:' `88. " << endl;
cout <<" 8 8888 ,8 8888 `8b 8 8888 88 8 8888 8 8888 `88 ,8 8888 `8b 8.`8888. Y8 " << endl;
cout <<" 8 8888 88 8888 `8b 8 8888 88 8 8888 8 8888 ,88 88 8888 `8b `8.`8888. " << endl;
cout <<" 8 888888888888 88 8888 88 8 8888 88 8 8888 8 8888. ,88' 88 8888 88 `8.`8888. " << endl;
cout <<" 8 8888 88 8888 `8. 88 8 8888 88 8 8888 8 888888888P' 88 8888 88 `8.`8888. " << endl;
cout <<" 8 8888 88 8888 `8,8P 8 8888 88 8 8888 8 8888 88 8888 ,8P `8.`8888. " << endl;
cout <<" 8 8888 `8 8888 ;8P ` 8888 ,8P 8 8888 8 8888 `8 8888 ,8P 8b `8.`8888. " << endl;
cout <<" 8 8888 ` 8888 ,88'8. 8888 ,d8P 8 8888 8 8888 ` 8888 ,88' `8b. ;8.`8888 " << endl;
cout <<" 8 888888888888 `8888888P' `8. `Y88888P' 8 8888 8 8888 `8888888P' `Y8888P ,88P' " << endl;
cout <<" " << endl;
}
struct persona
{
string nombre;
int edad;
char sexo;
};
int main()
{
// variables del programa
int opcionSeleccionada;
int nPersona = -1;
vector<persona> listaDePersonas;
// Con este ciclo do .. while hacenmos que el programa se repita de manera infinta hasta que el usuario indique lo contrario
do
{
system("cls");
printBanner(); // Se imprime el banner que dice 'equipos'
cout << "\tMenu de Opciones:" << endl;
cout << "\t0. Salir" << endl;
cout << "\t1. Agregar Persona" << endl;
cout << "\t2. Impimir Lista de Personas" << endl;
cout << "\t3. Ver estadisticas" << endl;
cout << ">> ";
cin >> opcionSeleccionada;
switch( opcionSeleccionada )
{
case 0:
cout << ">> Programa Terminado." << endl;
break;
case 1:
listaDePersonas.push_back( persona() );
nPersona++;
cout << endl;
cout << "\tRegistro de nueva Persona." << endl;
cout << "\tNombre: ";
getchar();
getline(cin, listaDePersonas[nPersona].nombre);
cout << "\tEdad: ";
cin >> listaDePersonas[nPersona].edad;
cout << "\tSexo (Solo puede ser M o F): ";
cin >> listaDePersonas[nPersona].sexo;
break;
case 2:
cout << "=================== Listado de Personas ===================" << endl;
for(auto it = listaDePersonas.begin(); it != listaDePersonas.end(); it++)
{
cout << "Nombre: " << it->nombre << endl;
cout << "Edad: " << it->edad << endl;
cout << "Sexo: " << it->sexo << endl;
}
cout << "===========================================================" << endl;
cout << "Presiona una tecla para continuar ...";
getchar();getchar();
break;
case 3:
string nombreMayorParticipante;
string nombreMenorParticipante;
int sumaDeEdades = 0;
int edadDelMayorParticipante = 0;
int edadDelMenorParticipante = 100;
int promedioDeEdades = 0;
int menoresDe20 = 0;
int mayoresOigualQue20 = 0;
int hombres = 0, mujeres = 0;
// En este for recorremos el vector y analizamos los datos para obtener lo que se nos pide
for(auto persona = listaDePersonas.begin(); persona != listaDePersonas.end(); persona++)
{
sumaDeEdades += persona->edad;
if(persona->edad > edadDelMayorParticipante)
{
edadDelMayorParticipante = persona->edad;
nombreMayorParticipante = persona->nombre;
}
if(persona->edad < edadDelMenorParticipante)
{
edadDelMenorParticipante = persona->edad;
nombreMenorParticipante = persona->nombre;
}
if(persona->sexo == 'M')
hombres++;
if(persona->sexo == 'F')
mujeres++;
if( persona->edad >= 20)
mayoresOigualQue20++;
if(persona->edad < 20)
menoresDe20++;
}
promedioDeEdades = sumaDeEdades / nPersona;
cout << "======================= Estadisticas ======================" << endl;
cout << "Edad del Mayor participante: " << edadDelMayorParticipante << endl;
cout << "Nombre del Mayor Participante: " << nombreMayorParticipante << endl;
cout << "===========================================================" << endl;
cout << "Edad del Menor participante: " << edadDelMenorParticipante << endl;
cout << "Nombre del Menor Participante: " << nombreMenorParticipante << endl;
cout << "===========================================================" << endl;
cout << "Promedio de Edades: " << promedioDeEdades << endl;
cout << "Cantidad Menor a 20: " << menoresDe20 << endl;
cout << "Cantidad >= que 20: " << mayoresOigualQue20 << endl;
cout << "===========================================================" << endl;
cout << "Cantidad de Hombre: " << hombres << endl;
cout << "Cantidad de Mujeres: " << mujeres << endl;
cout << "Cantidad de Personas en el equipo: " << (nPersona+1) << endl;
cout << "===========================================================" << endl;
cout << "Presiona una tecla para continuar ...";
getchar();getchar();
break;
}
}while( opcionSeleccionada != 0 );
return 0;
}
Comentarios
Publicar un comentario