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

Eis aí o produto, até aqui.

Ainda muito pela frente.

#include <stdio.h>
#include <string.h>

/*
Introdução à linguagem 'C'. 
O jogo da forca.
*/

int main() {

    printf(" ***************************************************************************  \n");
    printf(" -+                         Bem vindo ao  jogo                            +-\n\n");
    printf(" -+                Descobre qual a palavra secreta!                       +-  \n");
    printf(" ***************************************************************************  \n");

    char palavra_secreta[20];
    sprintf(palavra_secreta, "MELANCIA"); // string como um array. Final será sempre '\0'.
    int acertou = 0;
    int enforcou = 0;
    char chutes[26];
    int tentativas = 0;

    do {

        for(int i = 0; i < strlen(palavra_secreta); i++) {
            int achou = 0;

            for(int j = 0; j < tentativas; j++) {
                if(chutes[j] == palavra_secreta[i]) {
                    achou = 1;
                    break;
                }
            }

            if(achou) {
                printf("%c ", palavra_secreta[i]);
            } else {
                printf("_ ");
            }
        }
           printf("\n\n");

        char chute;
        printf("Chuta uma letra!\n");
        scanf(" %c", &chute); // dar um espaço antes do %c, para ignorar um valor em buffer.

        chutes[tentativas] = chute;
        tentativas++;
    } while (!acertou && !enforcou);     
}
2 respostas

Olá Eliezer.

Gostei bastante do seu código, rodei ele na minha maquina e está funcionando corretamente.

Também achei bem legal que tem comentários no código, que ajudam a lembrar de conceitos que estão aplicados.

Continue assim, bons estudos.

solução!

Obrigado pelo feedback. Um passo de cada vez, avançando.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software