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

Chave do else if

Olá, minha dúvida é a respeito da chave { usada no else. Ela vem antes ou depois do if? Copiei e usei o código da aula. que era assim:

else {

        if(chute > numerosecreto) {
             printf("Seu chute foi maior que o número secreto\n");
        }

        if(chute < numerosecreto) {
             printf("Seu chute foi menor que o número secreto\n");
        }

Mas deu erro, não compila e apontou erro de "expected declaration or statement at end of input", indicando a { como erro. Lendo aqui no fórum sobre alguém com o mesmo problema, outra pessoa disse que o else não tem (), tentei sem a chave e foi.

  if(chute == numerosecreto) {
        printf("Parabéns! Você acertou!\n");
    }

    // Oi? else não tem chave antes do parâmetro / argumento!

     else if(chute > numerosecreto) {
             printf("Você errou! Seu chute foi MAIOR que o número secreto\n");
        }

        if(chute < numerosecreto) {
             printf("Você errou! Seu chute foi MENOR que o número secreto\n");
        }

}

Resumindo: a sintaxe do " if dentro do if" é, com chave imediata ao else ou depois: (?)

else if (argumento) { 

Ou tem como fazer o else { funcionar?

Obrigada.

2 respostas
solução!

Opa Dáfnie, tudo bem?

Parece que foi um erro nosso mesmo, estava faltando fechar a chave no codigo do exercicio, sempre ao abrir um bloco de código com {, você precisa fechar com } por isso que deu errado.

O codigo deveria ficar assim:


if (chute == numerosecreto) { 
    printf("Parabens! Você acertou!\n");
    printf("Jogue de novo, você é um bom jogador(a)!\n");
} else {
    if(chute > numerosecreto) {
       printf("Seu chute foi maior que o número secreto\n");
    }

    if(chute < numerosecreto) {
       printf("Seu chute foi menor que o número secreto\n");
    }
}

Espero que tenha ficado claro ;)

Qualquer duvida pode perguntar!

Ficou sim, muito obrigada!