Please help me finish this Javascript script

Asked

Viewed 70 times

-2

salario = 0;
resultado = 0;
resultado1 = 0;
resultado2 = 0;
resultado3 = 0;
resultado4 = 0;
resultado5 = 0;
resultado6 = 0;
resto = 0;

function menorQtdNotas() {
  salario = parseInt(document.meuForm.salario.value);
  nota100 = parseInt(document.meuForm.nota100.value);
  nota50 = parseInt(document.meuForm.nota50.value);
  nota20 = parseInt(document.meuForm.nota20.value);
  nota10 = parseInt(document.meuForm.nota10.value);
  nota2 = parseInt(document.meuForm.nota2.value);
  nota1 = parseInt(document.meuForm.nota1.value);
  if (salario >= 100) {
    resultado = parseInt(salario / 100);
    resto = parseInt(salario % 100);
    if (resto >= 50) {
      resultado1 = parseInt(resto / 50);
      resto = parseInt(resultado1 % 50);
      if (resto >= 20) {
        resultado2 = parseInt(resto / 20);
        resto = parseInt(resultado2 % 20);
        if (resto >= 10) {
          resultado3 = (resto / 10);
          resto = (resultado3 % 10);
          if (resto >= 5) {
            resultado4 = (resto / 5);
            resto = (resultado4 % 5);
            if (resto >= 2) {
              resultado5 = parseInt(resto / 2);
              resto = parseInt(resultado5 % 2);
              if (resto >= 1) {
                resultado6 = parseInt(resto / 1);
              }
            }
          }
        }
      }
    }
  }

  document.meuForm.nota100.value = resultado;
  document.meuForm.nota50.value = resultado1;
  document.meuForm.nota20.value = resultado2;
  document.meuForm.nota10.value = resultado3;
  document.meuForm.nota5.value = resultado4;
  document.meuForm.nota2.value = resultado5;
  document.meuForm.nota1.value = resultado6;
}
<form name="meuForm">
  Salário:
  <input type="text" name="salario">
  <br>
  <br>
  <br>Notas de 100:
  <input type="text" name="nota100" value="">
  <br>Notas de 50:
  <input type="text" name="nota50" value="">
  <br>Notas de 20:
  <input type="text" name="nota20" value="">
  <br>Notas de 10:
  <input type="text" name="nota10" value="">
  <br>Notas de 5:
  <input type="text" name="nota5" value="">
  <br>Notas de 2:
  <input type="text" name="nota2" value="">
  <br>Notas de 1:
  <input type="text" name="nota1" value="">
  <input type="button" id="btn1" value="Qtd Notas" onclick="menorQtdNotas()">

</form>

inserir a descrição da imagem aqui

1 answer

3


You don’t have to (or should) do it so long. Because it’s easy to introduce mistakes and because it’s a lot of work :)

Use the initial value and remove the value of the notes you distribute. So you do everything programmatically.

Suggestion:

var tiposDeNotas = [100, 50, 20, 10, 5, 2, 1];

function menorQtdNotas() {
  var salario = parseInt(document.querySelector('[name="salario"]').value);
  var resto = salario;
  tiposDeNotas.forEach(function(nota) {
    var input = document.querySelector('[name="nota' + nota + '"]');
    var qtd = Math.floor(resto / nota);
    input.value = qtd;
    resto = resto - qtd * nota;
  });
}
<body>
  <form name="meuForm">
    Salário:
    <input type="text" name="salario">
    <br>
    <br>Notas de 100:
    <input type="text" name="nota100" value="">
    <br>
    <br>Notas de 50:
    <input type="text" name="nota50" value="">
    <br>
    <br>Notas de 20:
    <input type="text" name="nota20" value="">
    <br>
    <br>Notas de 10:
    <input type="text" name="nota10" value="">
    <br>
    <br>Notas de 5:
    <input type="text" name="nota5" value="">
    <br>
    <br>Notas de 2:
    <input type="text" name="nota2" value="">
    <br>
    <br>Notas de 1:
    <input type="text" name="nota1" value="">
    <br>
    <br>
    <input type="button" id="btn1" value="Qtd Notas" onclick="menorQtdNotas()">

  </form>
</body>

  • Thanks!!! It worked!!!! Could you please give some tips on the script you made? Thanks

  • if possible pass the script with comments, thanks!

  • 2

    @wgtoliveira I explained the script idea. If you do not understand the code (which is not extensive) you need to learn (read about or ask) more basic concepts. Take a look around the site and if necessary creates new(s) question(s).

Browser other questions tagged

You are not signed in. Login or sign up in order to post.