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

[Dúvida] 2ª Atividade - console.log em exemplo de desconto aereo + dúvidas no código!

Boa noite, não sei se está correndo, optei por utilizar o código do exemplo, tive que pegar alguns exemplos iniciais dos colegas aqui no Forum. Fiquei em dúvida em relaçao a saber como consigo diversificar o valor?

Exemplo:

console.log('Mais do que 5000 o desconto é de 10%');
console.log('Mais de 30000 o desconto será de 20%');
console.log('Mais do que 5000, menos do que 30000 o desconto será de 10%');

gostaria que no lugar dos números 5000 e 30000 na linha de console.log, ficassem assim:

console.log(`Mais do que $(quantidadeMilhas) o desconto é de 10%`);
console.log(`Mais de $(quantidadeMilhas) o desconto será de 20%`);
console.log(`Mais do que $(quantidadeMilhas), menos do que $(quantidadeMilhas) o desconto será de 10%`);

Seria possível? Porque na minha visão, caso a companhia mudasse a quantidade de milhas, seria somente alterar os valores principais e todo o resto alteraria de forma automatica.

Minhas segunda dúvida, caso meu código esteja correto abaixo, como é entendido pelo console qual é a quantidade de milhas corretas a entrar no lugar do "${porcentagemDesconto}". Tem alguma regra de ordem de leitura do código que eu deixei passar?

let porcentagemDesconto = 0;
console.log(`Mais do que 5000 o desconto é de 10%`);
console.log('Mais de 30000 o desconto será de 20%');
console.log('Mais do que 5000, menos do que 30000 o desconto será de 10%');
if(quantidadeMilhas > 5000){
    porcentagemDesconto = porcentagemDesconto + 10;
}
console.log(`Desconto aplicado ${quantidadeMilha}%.`);
if(quantidadeMilhas > 30000){
    porcentagemDesconto = porcentagemDesconto + 20;
console.log(`Desconto aplicado ${porcentagemDesconto}%.`);
} else {
    porcentagemDesconto = 0;
}
console.log('Nenhum desconto será aplicado');

Obrigado pela atenção desde já!

3 respostas
solução!

Fala, Vinicius! Tudo bom contigo, meu amigo? Cara, pelo que eu entendi, a sua dúvida é se é possível substituir aqueles 'console.log' do início, de forma que seja possível somente alterar o valor, sem ter que alterar cada um dos 'console.log', e caso isso for possível, como nas suas condicionais seria verificado esse valor, já que, caso fosse alterado, eles também teriam de ser, certo.

Nessa caso, eu modifiquei seu código pra seguinte forma:

let quantidadeMilhas = 12500;

let quantMilDescMenor = 5000;
let quantMilDescMaior = 30000;

let descMenor = 0.10;
let descMaior = 0.20;

console.log(`Mais do que ${quantMilDescMenor} o desconto é de ${descMenor}`);
console.log(`Mais de ${quantMilDescMaior} o desconto será de ${descMaior}`);
console.log(`Mais do que ${quantMilDescMenor}, menos do que ${quantMilDescMaior} o desconto será de ${descMenor}`);

if(quantidadeMilhas >= quantMilDescMenor){
    console.log(`Com ${quantidadeMilhas} milhas, o desconto de ${descMenor * 100}% foi aplicado.`);
}
else if(quantidadeMilhas >= quantMilDescMaior){
    console.log(`Com ${quantidadeMilhas} milhas, o desconto de ${descMaior * 100}% foi aplicado.`);
}
else {
    console.log('Nenhum desconto será aplicado');    
};

Vamos por partes:

. Defini 2 novas variáveis que representam o valor que será aplicado para a quantidade de milhas e 2 novas variáveis para os valores de desconto, assim fica mais fácil para alterar algum valor, caso seja necessário. . O valor dos descontos já estão em porcentagem, por isso 0.10 e 0.20, para não ser necessário fazer uma conta na hora de aplicar esses valores no momento de um pagamento, vamos supor. Por isso, na hora de mostrar esses valores nos 'console.log' foi feito com 'descMenor * 100', assim vai mostrar 10% ao invés de 0.10, ficando mais visível para o usuário que o valor é de 10%, por exemplo. . E nas condicionais, eu removi a atribuição que estava sendo feita no valor do desconto, já que agora estão padronizados como desconto de maior e menor nível e a alteração pode ser feita diretamente nas variáveis, e mantive apenas informando ao usuário a informação de qual porcentagem de desconto será aplicada.

E somente uma observação, Vinicius, eu vi que você tinha feito da seguinte forma para calcular o valor do desconto: porcentagemDesconto = porcentagemDesconto + 20;

Nesse caso, eu recomendo fazer somente assim: porcentagemDesconto = 20;

Isso porque, como o valor anterior era 0, e você não está adicionando um novo valor, mas sim alterando, evita a chance de erros. Vamos supor que ocorre algum problema que, por algum motivo, seja aplicado os dois descontos. Assim, na forma antiga, seria feita a soma dos 20 e depois dos 10, ficando com um total de 30% de desconto. Agora, dessa outra forma, seria feita a atribuição de 20, e depois a atribuição dos 10, e no fim o resultado seria somente a última atribuição, de 10.

Espero que tenha conseguido te ajudar e que eu tenha sido claro nas minhas explicações hehehe. Bons estudos e abraços, meu amigo!

Fala Iury! Muito obrigado por toda esta aula que você me deu!

Consegui entender com bastante clareza todos os aspectos do novo codigo, realmente esta era a minha dúvida primordial. Agora este código poderá ser utilizado de uma forma longinqua sem a necessidade de atualizar mais do que os valores das milhas e porcentagem, caso haja necessidade.

Agradeço o tempo e esforço que teve em alterar o código e ainda deixou de uma forma perfeitamente compreensível! Novamente, agradeço pelo tempo gasto para sanar minha dúvida. Você é 1000!

Tamo junto, meu amigo, fico feliz em saber que te ajudei!