All pastes #715173 Raw Edit

Miscellany

public text v1 · immutable
#715173 ·published 2007-09-26 02:23 UTC
rendered paste body
#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(); 
}