Created
September 21, 2022 15:35
-
-
Save divanibarbosa/98aa569b389bbd2d43ace19e0dd928ae to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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