Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90
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 C

Quantidade 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
Resposta/Solução:

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


Link para compartilhar na Internet ou com seus amigos:

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 18 usuários muito felizes estudando em nosso site.