Olá! Sou novato em programação e estou com um probleminha. Não consigo imprimir o valor da média de homens com experiência e nem colocar a idade mínina de mulheres com menos de 21 anos. Vou colocar o meu código e o enunciado do problema.
1) Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para preenchimento de vagas em seu quadro de funcionários. Supondo que você seja o programador dessa empresa, faça um programa que leia, para cada candidato, a idade, o sexo (M ou F) e a experiência no serviço (S ou N). Para encerrar a entrada de dados, digite zero para a idade.
O programa também deve calcular e mostrar:
- o número de candidatos do sexo feminino;
- o número de candidatos do sexo masculino;
- a idade média dos homens que já têm experiência no serviço;
- a percentagem dos homens com mais de 45 anos entre o total de homens;
- o número de mulheres com idade inferior a 21 anos e experiência no serviço;
- a menor idade entre as mulheres que já têm experiência no serviço.
======================= CODIGO ========================
#include <stdio.h>
int main(){
//não sabia o porque das mulheres estarem somando sempre +1 da quantidade verdadeira e então coloquei a variavel "num_fem" em -1.
int cont=0,idade, num_masc=0, num_mulheres_menos21=0, num_fem=-1, menor_idade_mulher_experiencia=0,menor_idade_f=0;
char sexo, experiencia;
float num_homens_mais45=0, idade_homens_exp=0,mediah;
do{
printf (" O PROGRAMA TERMINA QUANDO DIGITAR '0' PARA A IDADE \n\n");
printf (" Digite a idade:\n"); scanf("%d",&idade);
printf (" Digite o sexo M (masculino) F (feminino):\n"); scanf("\n%c",&sexo);
printf (" Possui experiencia ou [N]:\n"); scanf("\n%c",&experiencia);
if(sexo == 'M'){
num_masc++;
if(experiencia == 'S'){
idade_homens_exp+=idade;
cont++;
if(idade > 45) num_homens_mais45++; } }
else{
num_fem++; {if (menor_idade_f<idade)
menor_idade_f+=idade;
}
if(idade < 21 && experiencia == 'S'){
num_mulheres_menos21++;
}
}
}
while(idade > 0);
mediah=idade_homens_exp/cont;
printf ("O numero de candidatos do sexo masculino e: %d\n",num_masc);
printf ("O numero de candidatos do sexo feminino e: %d\n",num_fem);
printf("A idade media dos homens que ja tem experiencia no servico: %d\n",mediah);
printf ("A porcentagem de homens com mais de 45 anos entre o total de homens e: %f\n",(num_homens_mais45*100)/num_masc);
printf ("O numero de mulheres com idade inferior a 21 anos e com experiencia no servico e: %d\n", num_mulheres_menos21);
printf("A menor idade entre as mulheres que ja tem experiencia no servico: %d\n ", menor_idade_f);
return (0);
}