Crie um registro chamado funcionario que contenha os seguintes campos:
- nome (string): Nome do funcionário.
- id (int): ID do funcionário.
- cargo (string): Cargo do funcionário.
- salario (float): Salário do funcionário.
No programa principal, declare um vector de funcionario para armazenar informações de até N funcionários, onde o valor de N é lido. Solicite ao usuário os dados de cada funcionário e preencha os campos do registro.
O programa deve calcular e exibir o salário médio dos funcionários e o nome e o cargo do funcionário com maior salário.
Digite a quantidade de funcionarios: 3
Digite o nome do funcionário: João Silva
Digite o ID do funcionário: 101
Digite o cargo do funcionário: Gerente
Digite o salário do funcionário: 5000.0
Digite o nome do funcionário: Maria Oliveira
Digite o ID do funcionário: 102
Digite o cargo do funcionário: Analista
Digite o salário do funcionário: 3800.0
Digite o nome do funcionário: Lucas Ferreira
Digite o ID do funcionário: 103
Digite o cargo do funcionário: Consultor
Digite o salário do funcionário: 3200.0
Salário Médio dos Funcionários: 4000.0
Maior salário: João Silva, Gerente
No programa principal, declare um vector de funcionario para armazenar informações de até N funcionários, onde o valor de N é lido. Solicite ao usuário os dados de cada funcionário e preencha os campos do registro.
O programa deve calcular e exibir o salário médio dos funcionários e o nome e o cargo do funcionário com maior salário.
Digite a quantidade de funcionarios: 3
Digite o nome do funcionário: João Silva
Digite o ID do funcionário: 101
Digite o cargo do funcionário: Gerente
Digite o salário do funcionário: 5000.0
Digite o nome do funcionário: Maria Oliveira
Digite o ID do funcionário: 102
Digite o cargo do funcionário: Analista
Digite o salário do funcionário: 3800.0
Digite o nome do funcionário: Lucas Ferreira
Digite o ID do funcionário: 103
Digite o cargo do funcionário: Consultor
Digite o salário do funcionário: 3200.0
Salário Médio dos Funcionários: 4000.0
Maior salário: João Silva, Gerente
Passo 1
Beleza, vamos dar uma olhada no que a questão está pedindo. Precisamos criar um registro chamado funcionario que vai guardar informações sobre cada funcionário, como nome, ID, cargo e salário. Depois, no programa principal, vamos criar um vetor (ou seja, uma lista) para armazenar até N funcionários, onde N é um número que o usuário vai digitar. Vamos pedir ao usuário para preencher os dados de cada funcionário, calcular o salário médio e identificar quem tem o maior salário, mostrando o nome e o cargo dessa pessoa. Para resolver isso, vamos precisar entender sobre registros (ou structs), vetores, laços de repetição e operações básicas com números.
Passo 2
Primeiro, vamos definir o registro que vai representar um funcionário. Em programação, um registro (ou struct) é uma maneira de agrupar diferentes tipos de dados sob um único nome. No nosso caso, cada funcionário tem um nome (string), um ID (inteiro), um cargo (string) e um salário (número de ponto flutuante).
Aqui está como podemos definir isso em código (usando, por exemplo, C++):
struct Funcionario {
std::string nome;
int id;
std::string cargo;
float salario;
};
Passo 3
Agora, no programa principal, vamos precisar criar um vetor para armazenar vários funcionários. Um vetor é basicamente uma lista que pode guardar vários itens do mesmo tipo. Mas antes de criar o vetor, precisamos saber quantos funcionários vamos ter, ou seja, ler o valor de N que o usuário vai fornecer.
int main() {
int N;
std::cout << "Digite a quantidade de funcionarios: ";
std::cin >> N;
std::vector<Funcionario> funcionarios(N);
// ... (próximos passos)
}
Passo 4
Com o vetor criado, vamos pedir ao usuário para preencher os dados de cada funcionário. Para isso, vamos usar um laço de repetição que vai de 0 até N-1, permitindo que preenchamos cada posição do vetor com as informações fornecidas.
for(int i = 0; i < N; ++i) {
std::cout << "Digite o nome do funcionário: ";
std::cin >> funcionarios[i].nome;
std::cout << "Digite o ID do funcionário: ";
std::cin >> funcionarios[i].id;
std::cout << "Digite o cargo do funcionário: ";
std::cin >> funcionarios[i].cargo;
std::cout << "Digite o salário do funcionário: ";
std::cin >> funcionarios[i].salario;
}
Passo 5
Depois de preencher os dados, precisamos calcular o salário médio dos funcionários. Para isso, vamos somar todos os salários e depois dividir pelo número total de funcionários. A fórmula matemática para isso é:
Vamos implementar isso:
float somaSalarios = 0.0;
for(int i = 0; i < N; ++i) {
somaSalarios += funcionarios[i].salario;
}
float salarioMedio = somaSalarios / N;
Passo 6
Agora, precisamos identificar qual funcionário tem o maior salário. Para isso, vamos percorrer o vetor e comparar os salários, mantendo o registro do maior encontrado até o momento.
float maiorSalario = funcionarios[0].salario;
std::string nomeMaior;
std::string cargoMaior;
for(int i = 1; i < N; ++i) {
if(funcionarios[i].salario > maiorSalario) {
maiorSalario = funcionarios[i].salario;
nomeMaior = funcionarios[i].nome;
cargoMaior = funcionarios[i].cargo;
}
}
// Considerando que o primeiro funcionário também pode ser o de maior salário
nomeMaior = funcionarios[0].nome;
cargoMaior = funcionarios[0].cargo;
for(int i = 1; i < N; ++i) {
if(funcionarios[i].salario > maiorSalario) {
maiorSalario = funcionarios[i].salario;
nomeMaior = funcionarios[i].nome;
cargoMaior = funcionarios[i].cargo;
}
}
Resposta
Depois de executar o programa com os dados fornecidos:
- Salário Médio dos Funcionários: 4000.0
- Maior salário: João Silva, Gerente