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

Erro de sintaxe

Esta dando esse erro quando uso a chave fechada e quando eu tiro funciona,pelo que eu vi o do professor esta fechado,alguem sabe me explicar ? jogo_adivinha.html:36 Uncaught SyntaxError: Unexpected end of input,

<meta charset="UTF-8">
<script>
    function pulaLinha() {

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }
    function Sorteia (n){

        return Math.round(Math.random() * n);

    }

    var numeroPensado = Sorteia( 10);
    var chute  = parseInt(prompt("Ja pensei. Qual você acha que é?"));

    if  (chute == numeroPensado){

    mostra ("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }
    else{
        if (chute > numeroPensado) {

            mostra("Você errou! Seu chute é maior que o número pensado!");
        }


        else {

          mostra("Você errou! Seu chute é menor que o número pensado!");
                         }            

</script>
3 respostas
solução!

Olá Ewerton, se você indentar bem o seu código você irá perceber onde está o erro, vou colocar mais abaixo e destacar

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    function Sorteia (n){
        return Math.round(Math.random() * n);
    }

    var numeroPensado = Sorteia( 10);
    var chute  = parseInt(prompt("Ja pensei. Qual você acha que é?"));

    if (chute == numeroPensado){
        mostra ("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }
    else { // <-- Esse bloco está abrindo mas não está fechando
        if (chute > numeroPensado) {
            mostra("Você errou! Seu chute é maior que o número pensado!");
        }
        else {
            mostra("Você errou! Seu chute é menor que o número pensado!");
        }            
</script>

Você está abrindo um bloco mas não está fechando esse bloco, para funcionar esse bloco deve ser fechado.

A instrução if e o elseassim como outras instruções, aguardam logo após eles uma instrução ou um bloco de instruções, no seu caso você passou um bloco de instrução porém deixou o bloco aberto. Porém, quando você tira a {que está abrindo esse bloco ele funciona corretamente, isso acontece pois agora ele não está mais esperando o bloco e sim ele está olhando a instrução que no caso é um outro if.

Espero ter ajudado, caso fique alguma dúvida é só perguntar.

Segue o código corrigido sem usar o {...} e também usando, mas te recomendo sempre usar pois fica mais claro.

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    function Sorteia (n){
        return Math.round(Math.random() * n);
    }

    var numeroPensado = Sorteia( 10);
    var chute  = parseInt(prompt("Ja pensei. Qual você acha que é?"));

    if (chute == numeroPensado){
        mostra ("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }
    else 
        if (chute > numeroPensado) {
            mostra("Você errou! Seu chute é maior que o número pensado!");
        }
        else {
            mostra("Você errou! Seu chute é menor que o número pensado!");
        }            
</script>

ou

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    function Sorteia (n){
        return Math.round(Math.random() * n);
    }

    var numeroPensado = Sorteia( 10);
    var chute  = parseInt(prompt("Ja pensei. Qual você acha que é?"));

    if (chute == numeroPensado){
        mostra ("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }
    else {
        if (chute > numeroPensado) {
            mostra("Você errou! Seu chute é maior que o número pensado!");
        }
        else {
            mostra("Você errou! Seu chute é menor que o número pensado!");
        }            
    }
</script>

Boa Joel!!

Joel muito obrigado pela ajuda!!