3
respostas

Alternativa que corrige usuario com 5000 milhas com desconto de 10%?

Gente, segundo a interpretação da questão, foi apontando na regra do negócio que as pessoas com uma quantidade de milhas inferior a 5.000 não recebem desconto. Inferior é menor que 5000, ou seja, 4999, 4998... Na situação apontada por relatos de usuários, havia dificuldade em utilizar o desconto referente a 5.000 milhas, pois não ocorre nenhum desconto. Nenhuma das alternativas do exercício corrige essa situação, pois onde inferior a 5000 seria "quantidadeMilhas >= 5000"(com o igual).

Entao fiquei com essa dúvida se realmente só a realocação do "if" dentro do "else" resolveria o problema para funcionalidade correta.

Fiz um teste com colocação de alert para verificação em um cenário onde o usuário com a quantidade exata de 5000 milhas e os excedentes a 30000 pudesse utilizar o desconto de direto.

let porcentagemDesconto = 0;
let quantidadeMilhas = prompt('Digite aqui suas Milhas para Saber sua porcentegem de desconto!')

if(quantidadeMilhas >= 30000){
    porcentagemDesconto = porcentagemDesconto + 20;
    alert('Sua porcentagem de desconto é: '+porcentagemDesconto);
} else {
    if(quantidadeMilhas >= 5000){
    porcentagemDesconto = porcentagemDesconto + 10;
    alert('Sua porcentagem de desconto é: '+porcentagemDesconto);
}
else {alert('Sua porcentagem de desconto é: '+porcentagemDesconto);}
}
3 respostas

E que quando se coloca só o > 5000 ele só lê acima de 5001, já quando se coloca o igual ele lê que se for igual ou maior que 5000. por isso quando se coloca só o maior que > 5000 ele contaria a parti do 5001.

Concordo. A altenativa apontada como certa, não resolve de fato o problema, pois não existe uma condição explícita para o caso em que a quantidade de milhas é exatamente 5.000.

Fiquei com a mesma duvida, na minha opinião todas as alternativas estão erradas. Pois pelo exercício pessoas com exatos 5 mil milhas não conseguem pegar o desconto. E acredito que vão continuar sem pegar. Teria que seguir o seu exemplo de colocar >= 5000