Created
February 11, 2021 12:21
-
-
Save ebnersilva/9434934cf1f1f004a02906cf6b09051d to your computer and use it in GitHub Desktop.
Algoritmo em javascript para calcular troco em Notas de: 100, 50, 25, 10, 5, 2 reais e moedas de: 1 Real, 50, 25, 10, 5, 1 centavos
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const valorCompra = window.prompt("Qual o valor da compra? "); | |
const valorPago = window.prompt("Qual o valor pago?"); | |
if (valorPago < valorCompra) { | |
alert("O valor pago é menor que o valor da compra! Tente novamente!"); | |
} else { | |
const troco = valorPago - valorCompra; | |
let valorRestante = 0; | |
let quantitdadeN100 = 0; | |
let quantitdadeN50 = 0; | |
let quantidadeN20 = 0; | |
let quantidadeN10 = 0; | |
let quantidadeN5 = 0; | |
let quantidadeN2 = 0; | |
let quantidadeM1r = 0; | |
let quantidadeM50c = 0; | |
let quantidadeM25c = 0; | |
let quantidadeM10c = 0 | |
let quantidadeM5c = 0; | |
let quantidadeM1c = 0; | |
let valorN100 = 0; | |
let valorN50 = 0; | |
let valorN20 = 0; | |
let valorN10 = 0; | |
let valorN5 = 0; | |
let valorN2 = 0; | |
let valorM1r = 0; | |
let valorM50c = 0; | |
let valorM25c = 0; | |
let valorM10c = 0; | |
let valorM5c = 0; | |
let valorM1c = 0; | |
// Notas | |
quantidadeN100 = Math.floor(Math.floor(troco) / 100); | |
valorN100 = quantidadeN100 > 0 ? quantidadeN100 * 100 : 0; | |
valorRestante = troco - valorN100; | |
quantidadeN50 = Math.floor(Math.floor(valorRestante) / 50); | |
valorN50 = quantidadeN50 > 0? quantidadeN50 * 50 : 0; | |
valorRestante = troco - valorN100; | |
quantidadeN20 = Math.floor(Math.floor(valorRestante) / 20); // 1 | |
valorN20 = quantidadeN20 > 0 ? quantidadeN20 * 20 : 0; 20,00 | |
valorRestante = valorRestante - valorN20; // 15 | |
quantidadeN10 = Math.floor(Math.floor(valorRestante) / 10); // 1 | |
valorN10 = quantidadeN10 > 0 ? quantidadeN10 * 10 : 0; // 10,00 | |
valorRestante = valorRestante - valorN10; // 5 | |
quantidadeN5 = Math.floor(Math.floor(valorRestante) / 5); // 1 | |
valorN5 = quantidadeN5 > 0 ? quantidadeN5 * 5 : 0; // 5,00 | |
valorRestante = valorRestante - valorN5; // 0 | |
quantidadeN2 = Math.floor(Math.floor(valorRestante) / 2); // 0 | |
valorN2 = quantidadeN2 > 0 ? quantidadeN2 * 2 : 0; // 0 | |
// Moedas | |
valorRestante = valorRestante - valorN2; | |
quantidadeM1r = Math.floor(Math.floor(valorRestante) / 1); | |
valorM1r = quantidadeM1r > 0 ? quantidadeM1r * 1 : 0; | |
valorRestante = valorRestante - valorM1r; | |
quantidadeM50c = Math.floor(valorRestante / 0.5); | |
valorM50c = quantidadeM50c > 0 ? quantidadeM50c * 0.5 : 0; | |
valorRestante = valorRestante - valorM50c; | |
quantidadeM25c = Math.floor(valorRestante / 0.25); | |
valorM25c = quantidadeM25c > 0 ? quantidadeM25c * 0.25 : 0; | |
valorRestante = valorRestante - valorM25c; | |
quantidadeM10c = Math.floor(valorRestante / 0.10); | |
valorM10c = quantidadeM10c > 0 ? quantidadeM10c * 0.10 : 0; | |
valorRestante = valorRestante - valorM10c; | |
quantidadeM5c = Math.floor(valorRestante / 0.05); | |
valorM5c = quantidadeM5c > 0 ? quantidadeM5c * 0.05 : 0; | |
valorRestante = valorRestante - valorM5c; | |
quantidadeM1c = Math.floor(valorRestante / 0.01); | |
valorM1c = quantidadeM1c > 0 ? quantidadeM1c * 0.01 : 0; | |
valorRestante = Number(valorRestante.toFixed(2)) - valorM1c; | |
// Mostra as notas | |
if (quantidadeN100 > 0) { | |
console.log(`Você tem que devolver ${quantidadeN100} nota(s) de 100 reais`); | |
} | |
if (quantidadeN50 > 0) { | |
console.log(`Você tem que devolver ${quantidadeN50} nota(s) de 50 reais`); | |
} | |
if (quantidadeN20 > 0) { | |
console.log(`Você tem que devolver ${quantidadeN20} nota(s) de 20 reais`); | |
} | |
if (quantidadeN10 > 0) { | |
console.log(`Você tem que devolver ${quantidadeN10} nota(s) de 10 reais`); | |
} | |
if (quantidadeN5 > 0) { | |
console.log(`Você tem que devolver ${quantidadeN5} nota(s) de 5 reais`); | |
} | |
if (quantidadeN2 > 0) { | |
console.log(`Você tem que devolver ${quantidadeN2} nota(s) de 2 reais`); | |
} | |
// Mostra as moedas | |
if (quantidadeM1r > 0) { | |
console.log(`Você tem que devolver ${quantidadeM1r} moeda(s) de 1 real`); | |
} | |
if (quantidadeM50c > 0) { | |
console.log(`Você tem que devolver ${quantidadeM50c} moeda(s) de 50 centavos`); | |
} | |
if (quantidadeM25c > 0) { | |
console.log(`Você tem que devolver ${quantidadeM25c} moeda(s) de 25 centavos`); | |
} | |
if (quantidadeM10c > 0) { | |
console.log(`Você tem que devolver ${quantidadeM10c} moeda(s) de 10 centavos`); | |
} | |
if (quantidadeM5c > 0) { | |
console.log(`Você tem que devolver ${quantidadeM5c} moeda(s) de 5 centavos`); | |
} | |
if (quantidadeM1c > 0) { | |
console.log(`Você tem que devolver ${quantidadeM1c} moeda(s) de 1 centavos`); | |
} | |
if (valorRestante) { | |
console.log(`Você tem que devolver ${valorRestante} em balinhas!`); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment