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

Os if's não aparecem

Olá, alguém pode me ajudar a entender por que os meus if's não executam. Segue o código

<meta charset="UTF-8">

<script>

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

    }

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

    var vitorias = parseInt(prompt("Entre com o número de vitórias."));
    var empates = parseInt(prompt("Entre com o número de empates"));

    var pontos = vitorias * 3 + empates;

     mostra("O total de pontos é " + pontos);

    if (pontos > 20) {
        mostra("O seu time está melhor que o ano passado.");
    }
    if (pontos < 20) {
        mostra("O seu time está pior que o ano passado.");
    }
    if (pontos == 20) {
        mostra("O seu time está igual ao ano passado.");
    }

</script>
4 respostas

A programação está entrando nos IFs, mas ele só imprime a primeira chamada a função mostra. Uma forma de contornar este problema é fazer desta forma:

<meta charset="UTF-8">

<script>

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

    }

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

    var vitorias = parseInt(prompt("Entre com o número de vitórias."));
    var empates = parseInt(prompt("Entre com o número de empates"));

    var pontos = parseInt(vitorias * 3 + empates);

    var mensagem = "O total de pontos é " + pontos + "<br>";


    if (pontos > 20) {
        mensagem += "O seu time está melhor que o ano passado.";
    }
    if (pontos < 20) {
        mensagem += "O seu time está pior que o ano passado.";
    }
    if (pontos == 20) {
       mensagem += "O seu time está igual ao ano passado.";
    }
    mostra(mensagem);

</script>

Por que isso ocorre ? No vídeo do instrutor, as duas chamadas da função mostra são executadas.

solução!

Olá Otávio!

O problema está na função "pulaLinha", como foi aberto um "br" e o mesmo não foi fechado, todo o texto escrito depois disso pelo "document.write" ficou "dentro" do br.

Tente mudar para:

document.write("<br>");

Olá Lucas, muito obrigado nem tinha notado