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

Duvida

Olá, estou refazendo o curso e tentei criar um código que me mostre algumas porcentagens, mas não funciona. Alguém pode me ajudar? Segue o código:

<meta charset="UTF-8">

<h1> Porcentagem de votos </h1>
<br>
<br>
Insira a quantidade total de eleitores:
<br><br>
<input type = "text" class = "num_a">
<br><br>
Insira o total de votos válidos:
<br><br>
<input type = "text" class = "num_b">
<br><br>
Insira o total de votos brancos:
<br><br>
<input type = "text" class = "num_c">
<br><br>
Insira o total de votos nulos:
<br><br>
<input type = "text" class = "num_d">
<br><br>
<button> Calcular </button>


<script>

function pulaLinha() {

    document.write("<br><br>");

}

function mostra(frase) {

    document.write(frase);
}



function calculaPercentual() {

    var votosValidos = (num_b / num_a) * 100;
    var votosBrancos = (num_c / num_a) * 100;
    var votosNulos = (num_d / num_a) * 100;

        return votosValidos;
        return votosBrancos;
        return votosNulos;

    mostra("O percentual de votos válidos é de " + votosValidos + " %.");
    pulaLinha();
    mostra("O percentual de votos brancos é de " + votosBrancos + " %.");
    pulaLinha();
    mostra("O percentual de votos nulos é de " + votosNulos + " %.");

}

var button = document.querySelector("button");
var num_b = parseInt(document.querySelector("input.num_b"));
var num_c = parseInt(document.querySelector("input.num_c"));
var num_d = parseInt(document.querySelector("input.num_d"));
var num_a = parseInt(document.querySelector("input.num_a"));




button.onclick = calculaPercentual;




</script>
2 respostas
solução!

Olá Juliana,

Seu código não está funcionando por 3 motivos.

  1. A definição e atribuição de valor das variáveis num_a, num_b, num_c e num_d devem estar dentro da função calculaPercentual. Para que a função recupere o valor atual dos inputs quando o botão for acionado.

  2. Na atribuição de valor das variáveis num_a, num_b, num_c e num_d deve ser adicionado o .value para que as variáveis recebam o valor presente nos inputs

  3. Os 3 returns devem ser removidos de dentro da função calculaPercentual(), pois ela é uma função responsável por escrever os percentuais no html e não retornar os valores em questão.

Juliana,

O código ajustado ficará da seguinte forma:

<meta charset="UTF-8">

<h1> Porcentagem de votos </h1>
<br>
<br>
Insira a quantidade total de eleitores:
<br><br>
<input type="text" class="num_a">
<br><br>
Insira o total de votos válidos:
<br><br>
<input type="text" class="num_b">
<br><br>
Insira o total de votos brancos:
<br><br>
<input type="text" class="num_c">
<br><br>
Insira o total de votos nulos:
<br><br>
<input type="text" class="num_d">
<br><br>
<button> Calcular </button>


<script>

  function pulaLinha() {

    document.write("<br><br>");

  }

  function mostra(frase) {

    document.write(frase);
  }



  function calculaPercentual() {

    var num_a = parseInt(document.querySelector("input.num_a").value);
    var num_b = parseInt(document.querySelector("input.num_b").value);
    var num_c = parseInt(document.querySelector("input.num_c").value);
    var num_d = parseInt(document.querySelector("input.num_d").value);

    var votosValidos = (num_b / num_a) * 100;
    var votosBrancos = (num_c / num_a) * 100;
    var votosNulos = (num_d / num_a) * 100;

    mostra("O percentual de votos válidos é de " + votosValidos + " %.");
    pulaLinha();
    mostra("O percentual de votos brancos é de " + votosBrancos + " %.");
    pulaLinha();
    mostra("O percentual de votos nulos é de " + votosNulos + " %.");

  }

  var button = document.querySelector("button");

  button.onclick = calculaPercentual;

</script>