Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como posso usar parseInt(); tem limitações?

<meta charset="utf-8">

<script>

    function pulaLinha() {
        document.write("<br><br>");
    }

    function mostra(concatenacao) {
        document.write(concatenacao);
        pulaLinha();
    }


        var vitorias = parseInt(prompt("Insira um número"));
        var empates = parseInt(prompt("Insira outro número"));
        var pontos = vitorias * 3 + empates

        mostra("O tatal de pontos é " + pontos);
        // usando 25 e 5    ----->        80
        mostra("O tatal de pontos é " + vitorias * 3 + empates );
        mostra("O tatal de pontos é " + vitorias * 3 + parseInt(empates) );
        // usando 25 e 5    ----->        755
        // Pensei que usando parseInt() para converter prompt() em número poderia por a operação direto no document.write sem criar a variável pontos. No entanto isso ocasionou o erro inicial da atividade.

</script>
1 resposta
solução!

Everton, o problema não está relacionado ao parseInt()! Ele não tem limitações, mas não faz sentido usa-lo no mostra() se no prompt ele já recebe um valor inteiro.

O problema está na concatenação, porque há um texto antes das vitorias e empate. O javascript ainda faz a multiplicação (vitorias * 3), mas na soma com empates ele concatena. Mas resolver é fácil, é só separar a conta do texto com um parênteses. Vou deixar um script para você ver e testar, sem precisar usar a variável pontos.

<script>
    function mostra(concatenacao) {
        document.write(concatenacao);
        pulaLinha();
    }

        var vitorias = parseInt(prompt("Insira um número"));
        var empates = parseInt(prompt("Insira outro número"));

        mostra("O total de pontos é " + (vitorias * 3 + empates) );
        // usando 25 e 5    ----->        80
</script>