Resolucao Do Grupo 5
#include<iostream>
using namespace std;
 
int main()
{
    float salario,novosal;
    char cargo[20];
    cout<<"Digite o cargo do funcionario:";
    gets(cargo);
    cout<<"\nDigite o salario do funcionario:";
    cin>>salario;
 
    if(cargo=="gerente"){
 
       novosal= salario+(salario*0.1);}
 
          if (cargo=="engenheiro"){
 
            novosal=salario+(salario*0.2);}
 
             if(cargo=="tecnico"){
 
                novosal=salario+(salario*0.3);}
 
                 if ((cargo!="gerente")&&(cargo!="engenheiro")&&(cargo!="tecnico")){
                   novosal=salario+(salario*0.35);}
 
     cout<<"\nO novo salario e:"<<novosal;
 
system("pause>null");
return 0;
}

Correção pelo Grupo

Ao realizar testes verificamos que o programa não corresponde a alguns pedidos.
Os testes foram:

1º Teste:

Digite o cargo do funcionario:gerente

Digite o salario do funcionario:100

O novo salario e:135 // 110 é o valor que deveria ser impresso pois o acrescimo é de 10%.

2º Teste:

Digite o cargo do funcionario:engenheiro

Digite o salario do funcionario:100

O novo salario e:135 // 120 é o valor que deveria ser impresso pois o acrescimo é de 20%.

3º Teste:

Digite o cargo do funcionario:tecnico

Digite o salario do funcionario:100

O novo salario e:135 // 130 é o valor que deveria ser impresso pois o acrescimo é de 30%.

4º Teste:

Digite o cargo do funcionario:secretario

Digite o salario do funcionario:100

O novo salario e:135 // Ok, Valor Correto! (acrescimo de 35%)

5º Teste:

Digite o cargo do funcionario:programador

Digite o salario do funcionario:100

O novo salario e:135 // Ok, Valor Correto! (acrescimo de 35%)

Há falhas na indentação e estruturação.
Onde deveria usar "else if" em vez de "if" (linhas 16, 20) e "else" em vez de "if" (linha 24).

Existem tambem algumas variaveis declaradas, onde seus valores nao foram atribuidos para serem comparadas nas linhas 12, 16, 20.
São elas "gerente[7], tecnico[7], engenheiro[9]".

Analisando o programa, vemos que o grupo entendeu o que deveria ser feito, faltaram apenas algumas correções.

Correção pela professora

  • Gostei muito da correção do grupo!

O código correto seria:

int main()
{
    float salario,novosal;
    char cargo[30];
 
    cout«"Digite o cargo do funcionario:";
    cin» cargo;
    cout«"\nDigite o salario do funcionario:";
    cin»salario;
 
    if(strcmp(cargo, "gerente") == 0) 
        novosal= salario+(salario*0.1);
    else if(strcmp(cargo, "engenheiro") == 0)
        novosal=salario+(salario*0.2);
    else if(strcmp(cargo, "tecnico") == 0)
        novosal=salario+(salario*0.3);
    else
        novosal=salario+(salario*0.35);
 
    cout«"\nO novo salario e:"«novosal;
 
    system("pause>null");
    return 0;
}

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License