Exercício
1) A empresa "Vamos Trabalhar" deseja um algoritmo em c++ que leia de 50 funcionários:
- a matrícula
- o salário base
- o percentual de desconto
- e o tempo de serviço
a) A matrícula e o salário final de cada funcionário. Considere que os funcionários que possuírem dois anos ou mais de casa ganham 4% de aumento a cada biênio.
b) A quantidade de funcionários que possuem direito a aumento.
c) a média de tempo de serviço dos funcionários
d) a matrícula do funcionário que possui o maior salário base
e) a matrícula do funcionário que possui o menor salário base
2) Teste de mesa
int main(){
int i,j;
i=1;
j=1;
cout<<i,j<<endl;
while(i<=5){
cout<<i+j<<endl;
while(j<=2){
i=(i+j);
j=(j+1);
if ((i+7)%2==0){
cout<<i+2<<endl;
}//fim do if
else{
cout<<j+2<<endl;
}//fim do else
}// fim do while
j=1;
} // Fim do while
} // Fim do programa
Minha resposta
Questão 1)
int main(){
//declarando as variáveis
int matrícula;
float salariobase;
float percentualdesconto;
int tempodeservico;
float salariofinal;
int fatorbienio;
int direitoaumento;
int numerodefuncionarios;
int somatemposervico;
float mediatemposervico;
float maiorsalariobase;
int funcionariomaiorbase;
float menorsalariobase;
int funcionariomenorbase;
// zerando as variáveis
matricula=0;
salariobase=0;
percentualdesconto=0;
tempodeservico=0;
salariofinal=0;
fatorbienio=0;
direitoaaumento=0;
numerodefuncionarios=0;
somatemposervico=0;
mediatemposervico=0;
maiorsalariobase=0;
funcionariomaiorbase=0;
menorsalariobase=0;
funcionariomenorbase=0;
//iniciando o programa
cout<<"Informa a matrícula do funcionário."<<endl;
cout<<"Digite -1 para sair."<<endl;
cin>>matrícula;
//início do while
while (matrícula!=-1){
cout<<"Informe o salário base do funcionário."<<endl;
cin>>salariobase;
cout<<"Informe o percentual (%) de desconto do funcionário."<<endl;
cin>>percentualdesconto;
cout<<"Informe o tempo de serviço (em anos completos)<<endl;
cin>>tempodeservico;
//resposta da letra a
cout<<"A matrícula do funcionário é "<<matricula<<"."<<endl;
if (tempodeservico<2){
salariofinal=salariobase-(salariobase*percentualdesconto/100);
} // fim do if
if(tempodeservico>=2){
if (tempodeservico%2==1){
fatorbienio=(tempodeservico-1)/2;
} // fim do if
else {
fatorbienio=tempodeservico/2;
} // fim do else
salariofinal=salariobase*(104/100)fatorbienio-salariobase*(104/100)fatorbienio*percentualdesconto;
cout<<"O salário do funcionário é "<<salariofinal<<"."<<endl;
} // fim do if
//resposta da letra b => saída depois do while
if(tempodeservico>=2){
direitoaaumento++;
} // fim do if
//resposta da letra c
numerodefuncionarios++;
somatemposervico=tempodeservico+somatemposervico;
//resposta da letra d
if(maiorsalariobase<salariobase){
maiorsalariobase=salariobase;
funcionariomaiorbase=matricula;
} // fim do if
//resposta da letra e
if(menorsalariobase==0){
menorsalariobase=salariobase;
funcionariomenorbase=matricula;
} // fim do if
if(menorsalariobase>salariobase){
menorsalariobase=salariobase;
funcionariomenorbase=matricula;
} // fim do if
} // fim do while
//Após o while
// resposta da letra b
cout<<"A quantidade de funcionários que possuem direito a aumento é " <<direitoaaumento<<"."endl;
// resposta da letra c
mediatemposervico=somatemposervico/numerodefuncionarios;
cout<<"A média de tempo de serviço dos funcionários é "<<mediatemposervico<<"."<<endl;
// resposta da letra d
cout<<"A matrícula do funcionário que possui o maior salário base é "<<funcionariomaiorbase<<"."endl;
//resposta da letra e
cot<<"A matrícula do funcionário que possui o menor salário base é "<<funcionariomenorbase<<"."<<endl;
//finalizando o programa
system(pause);
return 0;
} // fim do programa
Questão 2)
Tentei fazer, mas deu loop infinito.
Imprimiu
11
2
4
5
7
7
7
.
.
.
Lucas T R Freitas
Nenhum comentário:
Postar um comentário