let porcentagemDesconto = 0;
if(quantidadeMilhas > 5000){
porcentagemDesconto = porcentagemDesconto + 10;
}
if(quantidadeMilhas >= 30000){
porcentagemDesconto = porcentagemDesconto + 20;
} else {
porcentagemDesconto = 0;
}
let porcentagemDesconto = 0;
if(quantidadeMilhas > 5000){
porcentagemDesconto = porcentagemDesconto + 10;
}
if(quantidadeMilhas >= 30000){
porcentagemDesconto = porcentagemDesconto + 20;
} else {
porcentagemDesconto = 0;
}
Olá Jéssica! Tudo bem?
O código que você compartilhou está tentando aplicar descontos com base na quantidade de milhas que um cliente possui. No entanto, há um problema na forma como as condições estão estruturadas, o que está levando a resultados incorretos.
Vamos analisar a lógica correta para aplicar os descontos:
No código original, o problema está na forma como os descontos são acumulados e resetados. A opção correta para corrigir o bug é a opção D, que utiliza um if
dentro do else
. Vamos ver como ela funciona:
let porcentagemDesconto = 0;
if(quantidadeMilhas >= 30000){
porcentagemDesconto = porcentagemDesconto + 20;
} else {
if(quantidadeMilhas > 5000){
porcentagemDesconto = porcentagemDesconto + 10;
}
}
Com essa estrutura, o código verifica primeiro se a quantidade de milhas é 30.000 ou mais e aplica 20% de desconto. Se não for o caso, ele verifica se a quantidade de milhas é maior que 5.000 e, se for, aplica 10% de desconto. Assim, garantimos que os descontos são aplicados corretamente sem acumular valores indevidos.
Espero ter ajudado e bons estudos!