Struct con estructura de arreglos
Hacer un Menú, que permita ingresar n cantidad de personas a registrar, y nos muestre todos los que son varones, sólo mujeres y sólo mayores de edad. Después debe imprima todos los registrados.
#include <iostream.h>
#include <conio.h>
#define MAX 100
struct personas{
char nombre[20];
char DNI[9];
int edad;
char s;
};
void registrar(int, struct personas[]);
void registrados(int, struct personas[]);
void varones(int, struct personas[]);
void mujeres(int, struct personas[]);
void mayoresdeedad(int, struct personas[]);
void main()
{int n,opc;
struct personas per[MAX];
do
{
cout<<"1. Registar"<<endl;
cout<<"2. Lista de Varones"<<endl;
cout<<"3. Lista de Mujeres"<<endl;
cout<<"4. Mayores de Edad"<<endl;
cout<<"5. Registrados"<<endl;
cout<<"6. Salir"<<endl;
cout<<endl;
cout<<"Ingrese Opcion:";
cin>>opc;
cout<<endl;
switch(opc)
{case 1: cout<<"Cantidad de Personas que desea registrar:";
cin>>n;
cout<<endl<<"***Registre Personas***"<<endl;
registrar(n,per);
break;
case 2: cout<<"***Lista de Varones***"<<endl;
varones(n,per);
break;
case 3: cout<<"***Lista de Mujeres***"<<endl;
mujeres(n,per);
break;
case 4: cout<<"***Mayores de Edad***"<<endl;
mayoresdeedad(n,per);
break;
case 5: cout<<"***Lista de Registrados***"<<endl;
registrados(n,per);
break;
}
}while(opc!=6);
}
void registrar(int n, struct personas x[])
{for(int i=0;i<n;i++)
{cout<<"Nombre :"; cin>>x[i].nombre;
cout<<"DNI :"; cin>>x[i].DNI;
cout<<"Edad :"; cin>>x[i].edad;
cout<<"Genero[F/M]:"; cin>>x[i].s;
cout<<endl;
}
getch();
}
void registrados(int n, struct personas x[])
{int i;
for(i=0;i<n;i++)
{cout<<x[i].nombre<<"t" <<x[i].DNI<<"t" <<x[i].edad<<"t" <<x[i].s<<"t";
cout<<endl;
}
getch();
}
void varones(int n, struct personas x[])
{for(int i=0;i<n;i++)
if(x[i].s=='M'|| x[i].s=='m')
cout<<x[i].nombre<<"t"<<x[i].DNI<<"t"<<x[i].edad<<"t"<<x[i].s<<endl;
getch();
}
void mujeres(int n, struct personas x[])
{for(int i=0;i<n;i++)
if(x[i].s=='F' || x[i].s=='f')
cout<<x[i].nombre<<"t"<<x[i].DNI<<"t"<<x[i].edad<<"t"<<x[i].s<<endl;
getch();
}
void mayoresdeedad(int n, struct personas x[])
{for(int i=0;i<n;i++)
if(x[i].edad>=18)
cout<<x[i].nombre<<"t" <<x[i].DNI<<"t" <<x[i].edad<<"t" <<x[i].s<<endl;
getch();
}