Uma empresa de informática comercializa um programa para gerenciar o cadastro de informações dos funcionários de empresas. Uma determinada empresa, com 8 departamentos, adquiriu o programa e, ao executar o programa pela primeira vez, informou o número de funcionários e as informações de cada funcionário. As informações armazenadas são nome (cadeia de caracteres), idade (inteiro), sexo (caractere), tempo de casa, em anos (inteiro), departamento (inteiro) e salário (em reais). Escreva um programa em C para realizar as seguintes operações:
g. Exibir o número de funcionários do sexo masculino e feminino, com idades entre 29 e 35 anos;
g. Exibir o número de funcionários do sexo masculino e feminino, com idades entre 29 e 35 anos;
Passo 1
O enunciado pede para contar quantos funcionários de cada sexo têm idade entre 29 e 35 anos, usando o programa já carregado com os dados. Vamos usar dois contadores inteiros: um para o sexo masculino e outro para o sexo feminino.
Passo 2
Antes de percorrer a lista de funcionários, inicialize esses dois contadores com zero.
Passo 3
Percorra todos os funcionários com um laço for. Em cada iteração, verifique se a idade está entre 29 e 35 anos. Se estiver nesse intervalo, teste o caracter de sexo: se for ‘M’ incremente o contador masculino; se for ‘F’ incremente o contador feminino.
Passo 4
Após o laço, exiba os valores dos dois contadores na tela. Esse procedimento usa conceitos básicos de laço de repetição, indexação de vetores e estruturas condicionais em C.
Resposta
#include <stdio.h>
/* Supondo que já temos carregados em vetores:
nome[][50], idade[], sexo[], depto[], salario[] e o total n de funcionários */
nome[][50], idade[], sexo[], depto[], salario[] e o total n de funcionários */
int main() {
int n;
// … código que lê n e preenche os vetores …
int n;
// … código que lê n e preenche os vetores …
int countM = 0;
int countF = 0;
for (int i = 0; i < n; i++) {
if (idade[i] >= 29 && idade[i] <= 35) {
if (sexo[i] == 'M') {
countM++;
} else if (sexo[i] == 'F') {
countF++;
}
}
}
printf("Número de funcionários do sexo masculino entre 29 e 35 anos: %d\n", countM);
printf("Número de funcionários do sexo feminino entre 29 e 35 anos: %d\n", countF);
return 0;
}