![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
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: 764 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: #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 |