Ir ao conteúdo
  • Cadastre-se

C Problemas em conseguir a Media/Idade Mínima;


Posts recomendados

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); 
     } 

 

programação.jpg

Link para o comentário
Compartilhar em outros sites

12 horas atrás, iHollyZinhO disse:

O erro está no printf, você está usando %d para float. Troque para %f e vai funcionar corretamente. Recomendo que você declare a variável idade_homens_exp como inteiro, afinal, a idade sempre será um número inteiro.

Muito obrigado, a parte da média dos homens funcionou, agora a única coisa que falta é a miníma idade feminina. Muito obrigado pela ajuda ( E desculpe por esse erro bobo de inteiro com real). haha

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!