Skip to content

Instantly share code, notes, and snippets.

@divanibarbosa
Created September 21, 2022 15:35
Show Gist options
  • Save divanibarbosa/98aa569b389bbd2d43ace19e0dd928ae to your computer and use it in GitHub Desktop.
Save divanibarbosa/98aa569b389bbd2d43ace19e0dd928ae to your computer and use it in GitHub Desktop.
// Criado por: profa. Divani Barbosa Gavinier
// Currículo Lattes: http://lattes.cnpq.br/8503400830635447
// [email protected]
/* Uma empresa de informática comercializa um programa para gerenciar o cadastro de informações dos
funcionários de empresas em geral. 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 um
deles. As informações armazenadas são nome (vetor de caracteres), idade (inteiro), sexo (caractere),
tempo de casa em anos (inteiro) e salário (real). Escreva um programa em linguagem C++ que realize as
seguintes operações:
a) Procurar no cadastro e informar todos os dados do funcionário com nome informado pelo usuário.
b) O número de funcionários do sexo feminino.
c) Exibir o salário médio.
d) Exibir a idade média;
e) Exibir os dados dos funcionários com o menor e com o maior tempo de casa.
Poste abaixo o código fonte em linguagem de programação C++:
*/
#include <iostream>
#include <string.h>
#define n 3
using namespace std;
typedef struct {
char nome[100];
int idade;
char sexo;
int tempocasa;
float sal;
} Funcionario;
void cadastro(Funcionario *v); /* funcao para cadastro de 3 funcionarios */
main() {
Funcionario v[n];
char nomefunc[100];
int i, feminino=0, maior, menor, mediaidade=0, indmaior, indmenor;
float salmedio = 0.0;
bool encontrou = false;
cadastro(v); /* cadastrando 3 funcionarios */
cout << "Informe o nome do funcionario: ";
gets(nomefunc);
cout << "******************************************\n";
for(i=0; i<n; i++) {
if(stricmp(nomefunc,v[i].nome)==0) {
cout << "Nome: " << v[i].nome << endl;
cout << "Idade: " << v[i].idade << endl;
cout << "Sexo: " << v[i].sexo << endl;
cout << "Tempo de casa: " << v[i].tempocasa << endl;
cout << "Salario: " << v[i].sal << endl;
encontrou = true;
}
if(v[i].sexo == 'F') feminino++;
mediaidade += v[i].idade;
salmedio += v[i].sal;
}
if (!encontrou) {
cout << "Nome de funcionario nao encontrado\n";
}
cout << "******************************************\n";
cout << "Numero de funcionarios de sexo femino = " << feminino << endl;
salmedio = salmedio/n;
cout << "******************************************\n";
cout << "Salario medio = " << salmedio << endl;
mediaidade = mediaidade/n;
cout << "******************************************\n";
cout << "Idade media = " << mediaidade << endl;
/* Dados funcionarios maior e menor tempo de casa */
maior = menor = v[0].tempocasa;
indmaior = indmenor = 0;
for(i=0; i<n; i++) {
if(v[i].tempocasa > maior) {
maior = v[i].tempocasa;
indmaior = i;
}
if(v[i].tempocasa < menor) {
menor = v[i].tempocasa;
indmenor = i;
}
}
cout << "******************************************\n";
cout << "Dados funcionario maior tempo de casa:\n";
i = indmaior;
cout << "Nome: " << v[i].nome << endl;
cout << "Idade: " << v[i].idade << endl;
cout << "Sexo: " << v[i].sexo << endl;
cout << "Tempo de casa: " << v[i].tempocasa << endl;
cout << "Salario: " << v[i].sal << endl;
cout << "******************************************\n";
cout << "Dados funcionario menor tempo de casa:\n";
i = indmenor;
cout << "Nome: " << v[i].nome << endl;
cout << "Idade: " << v[i].idade << endl;
cout << "Sexo: " << v[i].sexo << endl;
cout << "Tempo de casa: " << v[i].tempocasa << endl;
cout << "Salario: " << v[i].sal << endl;
}
/* funcao para cadastro de 3 funcionarios */
void cadastro(Funcionario *v) {
int i=0;
strcpy(v[i].nome,"JOAO BATISTA");
v[i].idade=70;
v[i].sexo='M';
v[i].tempocasa=40;
v[i].sal=8504.7;
i=1;
strcpy(v[i].nome,"ANA LAURA");
v[i].idade=34;
v[i].sexo='F';
v[i].tempocasa=10;
v[i].sal=5964.0;
i=2;
strcpy(v[i].nome,"LUIZA MARIA");
v[i].idade=35;
v[i].sexo='F';
v[i].tempocasa=5;
v[i].sal=3235.14;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment