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

Outra forma de fazer

Olá, queria saber uma forma de fazer com que o programa exiba a mensagem "não havia copa nesta época" nos anos anteriores a 1930,

tentei mas não funcionou direito, pois ele exibe a frase todas as vezes

<meta charset="UTF-8">

<script>

function pulaLinha() {

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

function mostra(frase) {

    document.write(frase);
    pulaLinha();
}

 var ultimoAnocopa = parseInt(prompt("Entre com a data limite"));

 var inicioAnoCopa = 1930;

var naoHaviaCopa = 1900;


 while(inicioAnoCopa <= ultimoAnocopa) {
    mostra("Teve copa em " + inicioAnoCopa);
    inicioAnoCopa = inicioAnoCopa + 4; 

    }

     if(naoHaviaCopa != inicioAnoCopa) {

         mostra("Não havia copa nesta época");

     }
2 respostas
solução!

Ele está sempre mostrando, porque você definiu uma variável chamada naoHaviaCopa com o valor de 1900, e disse para o programa que quando esse 1900 for diferente do inicioAnoCopa, pra mostrar a mensagem, porém sempre vai ser diferente, já que você colocou um valor fixo de 1900, e está somando o inicioAnoCopa a cada while.

Seria melhor se você verificasse se o ano que o usuário digitou é menor do que o inicioAnoCopa, que é 1930, e se for, então ai sim mostrar a mensagem que esse ano final não tinha copa. Só uma observação: Você tem que fazer essa verificação do if antes do while, ou seja: Programa, vê pra mim se o ano que o usuário digitou é maior do que 1930, se for, então começa o while. Dessa forma, não precisamos mais utilizar a variável naoHaviaCopa.

function pulaLinha() {

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

function mostra(frase) {

    document.write(frase);
    pulaLinha();
}

 var ultimoAnocopa = parseInt(prompt("Entre com a data limite"));

 var inicioAnoCopa = 1930;

  if(ultimoAnocopa < inicioAnoCopa) { //Se o ano que o usuario digitou for menor do que 1930, então mostra essa msg pra mim

         mostra("Não havia copa nesta época");
        }


 while(inicioAnoCopa <= ultimoAnocopa) {
    mostra("Teve copa em " + inicioAnoCopa);
    inicioAnoCopa = inicioAnoCopa + 4; 

    }

Obrigada!