#include <stdio.h>
#include <conio.h>
#define MAX 100
typedef struct Persona
{
int estado_civil;
int sexo;
int edad;
}persona;
persona personas[MAX];
int validar(int a, int b)
{
int num;
scanf("%d", &num);
while(num < a || num > b)
{
printf("Ingrese un valor entre %d y %d: ", a, b);
scanf("%d", &num);
}
return num;
}
int n = 0;
void IngresarPersona()
{
printf("Estado civil\n");
printf("(1)casado, (2)soltero, (3)separado, (4)divorciado: ");
personas[n].estado_civil = validar(1, 4);
printf("Sexo\n");
printf("(1)femenino, (2)masculino: ");
personas[n].sexo = validar(1, 2);
printf("Edad (1-90) : ");
personas[n].edad = validar(1, 90);
n++;
}
int main()
{
int i, cant=0, num;
printf("Numero de personas: ");
scanf("%d", &cant);
for(i=0; i<cant; i++)
{
printf("Ingresando persona %d...\n", i+1);
IngresarPersona();
printf("\n\n");
}
// Personas que pueden votar
num=0;
for(i=0; i<cant; i++)
if(personas[i].edad>=18)
num++;
printf("Personas que pueden votar: %d\n", num);
// Mujeres que no pueden votar
num=0;
for(i=0; i<cant; i++)
if(personas[i].sexo==1 && personas[i].edad<18)
num++;
printf("Mujeres que no pueden votar: %d\n", num);
// Total de hombres casados
num=0;
for(i=0; i<cant; i++)
if(personas[i].sexo==2 && personas[i].estado_civil==1)
num++;
printf("Total de hombres casados: %d\n", num);
// Total de mujeres solteras
num=0;
for(i=0; i<cant; i++)
if(personas[i].sexo==1 && personas[i].estado_civil==2)
num++;
printf("Total de mujeres solteras: %d\n", num);
getch();
}