Escriba un programa que lea datos de un grupo de personas (nombre, edad, sexo, dirección, teléfono) e indique lo siguiente:
- Persona más joven del grupo.
- Cuántas personas son del sexo femenino y cuántas del sexo masculino.
- Mostrar los datos de todas las personas del grupo que son mayores de edad.
#include<iostream> #include<cstdlib> #include<cstring> using namespace std; const int tam=100; const int tam_cad=50; const int tam_sex=10; const int tam_tlf=12; class personas { private: char nombre[tam_cad]; int edad; char sexo[tam_sex]; char direccion[tam_cad]; char tlf[tam_tlf]; public: void mostrar(); friend void leer(personas [], int &, char [], int &, char [], char [], char []); friend int menor_edad(personas [], int &); friend void mayores_edad(personas [], int &); friend void cont_sexo(personas [], int &, int &, int &); personas(){}; personas(char [], int &, char [], char [], char []); ~personas(); }; int menu(); int main() { int opc, cont=0, i, indice, cont_masculino=0, cont_femenino=0, edad_t; char nombre_t[tam_cad], sexo_t[tam_sex], direccion_t[tam_cad], tlf_t[tam_tlf]; personas grupo[tam]; do{ opc=menu(); switch(opc) { case 1: { leer(grupo, cont, nombre_t, edad_t, sexo_t, direccion_t, tlf_t); system("cls"); break; } case 2: { indice=menor_edad(grupo, cont); cout<<"\n\n\t la persona mas joven del grupo es: "<<endl; grupo[indice].mostrar(); cin.get(); system("cls"); break; } case 3: { cont_sexo(grupo, cont, cont_masculino, cont_femenino); cout<<"\n\n\t la cantidad de mujeres del grupo es: "<<cont_femenino<<endl; cout<<"\t la cantidad de hombres del grupo es: "<<cont_masculino<<endl; cont_masculino=0; cont_femenino=0; cin.get(); system("cls"); break; } case 4: { mayores_edad(grupo, cont); cin.get(); system("cls"); break; } case 5: { exit(0); break; } default: { cout<<"\n\t opcion invalida"<<endl; cin.get(); system("cls"); break; } } }while(opc!=5); return 0; cin.get(); cin.get(); } personas::personas(char nombre_t[tam_cad], int &edad_t, char sexo_t[tam_sex], char direccion_t[tam_cad], char tlf_t[tam_tlf]) { strcpy(nombre, nombre_t); edad=edad_t; strcpy(sexo, sexo_t); strcpy(direccion, direccion_t); strcpy(tlf, tlf_t); } personas::~personas() { } void personas::mostrar() { cout<<"\n\t Nombre: "<<nombre<<endl; cout<<"\t Edad: "<<edad<<endl; cout<<"\t Sexo: "<<sexo<<endl; cout<<"\t Direccion: "<<direccion<<endl; cout<<"\t Telefono: "<<tlf<<endl; } int menu() { int opc; cout<<"\n\n\t 1.- Leer personas"<<endl; cout<<"\t 2.- Persona mas joven del grupo"<<endl; cout<<"\t 3.- Cantidad de hombres y mujeres del grupo"<<endl; cout<<"\t 4.- Mostrar mayores de edad"<<endl; cout<<"\t 5.- salir"<<endl; cout<<"\t indique opcion: "; cin>>opc; cin.ignore(); system("cls"); return opc; } void leer(personas grupo[tam], int &cont, char nombre_t[tam_cad], int &edad_t, char sexo_t[tam_sex], char direccion_t[tam_cad], char tlf_t[tam_tlf]) { cout<<"\n\n\t Nombre: "; cin.getline(nombre_t, tam_cad); cout<<"\t Edad: "; cin>>edad_t; cin.ignore(); cout<<"\t Sexo: "; cin.getline(sexo_t, tam_sex); cout<<"\t Direccion: "; cin.getline(direccion_t, tam_cad); cout<<"\t Telefono: "; cin.getline(tlf_t, tam_tlf); personas temp(nombre_t, edad_t, sexo_t, direccion_t, tlf_t); grupo[cont]=temp; cont++; } int menor_edad(personas grupo[tam], int &cont) { int indice, i=0, edad=0; for(i=0; i<cont; i++) { if(grupo[i].edad>edad) { edad=grupo[i].edad; } } for(i=0; i<cont; i++) { if(grupo[i].edad<=edad) { edad=grupo[i].edad; indice=i; } } return indice; } void mayores_edad(personas grupo[tam], int &cont) { for(int i=0; i<cont; i++) { if(grupo[i].edad>=18) { grupo[i].mostrar(); } } } void cont_sexo(personas grupo[tam], int &cont, int &cont_masculino, int &cont_femenino) { int i; for(i=0; i<cont; i++) { if(strcmp(grupo[i].sexo, "masculino")==0) { cont_masculino++; } else { cont_femenino++; } } }
Descargar Código
0 comentarios:
Publicar un comentario