Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para preenchimento de vagas no seu quadro de funcionários - Desafio de Programação Resolvido em CQuantidade de visualizações: 831 vezes |
|
Pergunta/Tarefa: Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para preenchimento de vagas no seu quadro de funcionários. Supondo que você seja o programador dessa empresa, faça um programa C que: a) 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. Calcule e mostre: a) o número de candidatos do sexo feminino; b) o número de candidatos do sexo masculino; c) a idade média dos homens que já tem experiência no serviço; d) a percentagem dos homens com mais de 45 anos entre o total dos homens; e) o número de mulheres com idade inferior a 35 anos e com experiência no serviço; f) a menor idade entre as mulheres que já tem experiência no serviço. Seu programa C deverá exibir uma saída parecida com: Informe a idade: 46 Informe o sexo [M, F]: M Possui experiência [S, N]: S Informe a idade: 19 Informe o sexo [M, F]: F Possui experiência [S, N]: N Informe a idade: 43 Informe o sexo [M, F]: M Possui experiência [S, N]: N Informe a idade: 58 Informe o sexo [M, F]: M Possui experiência [S, N]: S Informe a idade: 58 Informe o sexo [M, F]: F Possui experiência [S, N]: S Informe a idade: 37 Informe o sexo [M, F]: F Possui experiência [S, N]: N Informe a idade: 0 Quantidade de homens: 3 Quantidade de mulheres: 3 Idade média homens com experiência: 52.0 Porcentagem de homens com mais de 45 anos: 66.66% Mulheres idade inferior 35 anos com experiência: 0 Menor idade mulheres com experiência: 58 Veja a resolução comentada deste exercício usando C: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
// função principal do programa
int main(int argc, char *argv[]){
// variaveis usdas na resolução do problema
int idade, quant_h, quant_m;
int quant_h_exp, quant_m_exp, soma_idades_h_exp;
float idade_media_h_exp;
int quant_h_mais_45_anos;
float porc_h_mais_45_anos;
int quant_m_menor_35_exp, menor_idade_m_exp;
char sexo, experiencia;
// vamos inicializar algumas variáveis
quant_h = 0; // quantidade de homens
quant_m = 0; // quantidade de mulheres
quant_h_exp = 0; // quantidade de homens com experiência
quant_m_exp = 0; // quantidade de mulheres com experiência
quant_h_mais_45_anos = 0; // quantidade homens mais 45 anos
soma_idades_h_exp = 0; // soma as idades dos homens com experiência
menor_idade_m_exp = 0; // menor idade mulher com experiência
quant_m_menor_35_exp = 0; // quantidade de mulheres menor que 35 anos
// com experiência no serviço
// agora o laço que lê a idade, o sexo e a experiência
do{
printf("\nInforme a idade: ");
scanf("%d", &idade);
// a idade informada é diferente de 0
if(idade != 0){
fflush(stdin); // para o scanf não sair pulando
// vamos ler o sexo
printf("Informe o sexo [M, F]: ");
scanf("%c", &sexo);
sexo = toupper(sexo); // converte para letra maiúscula se necessário
fflush(stdin); // para o scanf não sair pulando
printf("Possui experiência [S, N]: ");
scanf("%c", &experiencia);
experiencia = toupper(experiencia);
// esse candidato é do sexo feminino?
if(sexo == 'F'){
// aumentamos a quantidade de candidatos do sexo feminino
quant_m = quant_m + 1;
// esta mulher possui experiência?
if(experiencia == 'S'){
// DICA DE PROGRAMADOR SÊNIOR: Se esta for a primeira mulher
// com experiência, então ela possui a menor idade entre as
// mulheres com experiência
if(quant_m_exp == 0){
menor_idade_m_exp = idade; // menor idade mulher com experiência
}
else{
// essa idade é menor que a idade que já temos?
if(idade < menor_idade_m_exp){
menor_idade_m_exp = idade;
}
}
// essa mulher tem idade menor que 35 e experiência?
if(idade < 35){
quant_m_menor_35_exp = quant_m_menor_35_exp + 1;
}
// aumentamos a quantidade de mulheres com experiência
quant_m_exp = quant_m_exp + 1;
}
}
// é do sexo masculino então
else{
// aumentamos a quantidade de candidatos do sexo masculino
quant_h = quant_h + 1;
// esse homem possui experiência?
if(experiencia == 'S'){
// aumentamos a quantidade de homens com experiência
quant_h_exp = quant_h_exp + 1;
// precisamos somar esta idade então
soma_idades_h_exp = soma_idades_h_exp + idade;
}
// esse homem tem mais de 45 anos?
if(idade > 45){
quant_h_mais_45_anos = quant_h_mais_45_anos + 1;
}
}
}
}while(idade != 0);
// vamos mostrar os dados
printf("\nQuantidade de homens: %d", quant_h);
printf("\nQuantidade de mulheres: %d", quant_m);
// vamos calcular a idade média dos homens com experiência
// no serviço
idade_media_h_exp = 0;
if((quant_h > 0) && (quant_h_exp > 0)){
idade_media_h_exp = soma_idades_h_exp / ((double)quant_h_exp);
printf("\nIdade média homens com experiência: %f",
idade_media_h_exp);
}
else{
printf("\nNão houve homens com experiência");
}
// vamos mostrar a porcentagem de homens com mais de 45 anos
if((quant_h > 0) && (quant_h_mais_45_anos > 0)){
porc_h_mais_45_anos = (quant_h_mais_45_anos / (double)quant_h) * 100;
printf("\nPorcentagem de homens com mais de 45 anos: %f%%",
porc_h_mais_45_anos);
}
else{
printf("\nNão houve homens com idade maior de 45 anos");
}
// vamos mostrar a quantidade de mulheres com idade inferior
// a 35 anos e com experiência
printf("\nMulheres idade inferior 35 anos com experiência: %d",
quant_m_menor_35_exp);
// vamos mostrar a menor idade de mulheres com experiência
if((quant_m > 0) && (quant_m_exp > 0)){
printf("\nMenor idade mulheres com experiência: %d",
menor_idade_m_exp);
}
else{
printf("\nNão houve mulheres com experiência");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





