Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida Aula 02. Variáveis e comandos básicos

Olá, reparei que qdo coloco a variável salarioMensal = 0, ele executa a segunda condição ou a terceira. Pula somente a primeira condição. Como eu faço para não haver calculos qdo o salário for igual a 0? Atualmente meu código está assim:

<script>
        //se o salario mensal for maior que 0 e menor que 1000 -> 5%
        //se nao cair na condicao anterior e o salario for menor que 2000 -> 10%
        //se nao cair nas outras duas -> 15%

        var salarioMensal = 0;

        if(salarioMensal > 0 && salarioMensal < 1000){
            var bonus = salarioMensal * 0.05;
            console.log("O bonus foi de 5%");
            console.log(bonus);

        }else if(salarioMensal < 2000){
            var bonus = salarioMensal * 0.10;
            console.log("O bonus foi de 10%");
            console.log(bonus);
        }else{
            var bonus = salarioMensal * 0.15;
            console.log("O bonus foi de 15%"); 
            console.log(bonus);
        }
    </script>
3 respostas
solução!

Olá Hilton, tranquilo?

pelo que entendi vc quer que não seja calculado bonus quando salarioMensal for igual a 0; Seria interessante tambem validar salarios menores que 0. Voce tem que deixa isso explicito na condicao.

Voce pode colocar essas condicoes dentro de um if maior (I)

ou pode colocar uma primeira condicoe, "salarioMensal <= 0" (II)

(I)

var salarioMensal = 0;

if(salarioMensal > 0){

     if(salarioMensal < 1000){
        var bonus = salarioMensal * 0.05;
        console.log("O bonus foi de 5%");
        console.log(bonus);

    }else if(salarioMensal < 2000){
        var bonus = salarioMensal * 0.10;
        console.log("O bonus foi de 10%");
        console.log(bonus);

    }else{
        var bonus = salarioMensal * 0.15;
        console.log("O bonus foi de 15%");
        console.log(bonus);
    } 

}else{
    console.log("salarioMensal invalido");    
}

(II)

var salarioMensal = 0;

if(salarioMensal <= 0){
  console.log("salarioMensal invalido");

}else if(salarioMensal < 1000){
    var bonus = salarioMensal * 0.05;
    console.log("O bonus foi de 5%");
    console.log(bonus);

}else if(salarioMensal < 2000){
    var bonus = salarioMensal * 0.10;
    console.log("O bonus foi de 10%");
    console.log(bonus);

}else{
    var bonus = salarioMensal * 0.15;
    console.log("O bonus foi de 15%");
    console.log(bonus);
}

Valeu Tiago! Implementei a segunda opção no meu código e agora funciona corretamente.

Abraço! :)

oi Hilton, tudo bem cara? que bom que resolveu seu problema. quando puder marca como resolvido por favor, isso ajuda muito! valeu cara bons estudos!

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software