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