1
resposta

O programa não finaliza

Atualmente o código está assim, está igual ao código do professor, o problema é que quando digita todas as letras da palavra secreta ainda o programa continua pedindo uma letra e nao finaliza.

CÓDIGO ATUAL

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

int main(){

    printf("************************************\n");
    printf("*****Bem vindo ao jogo da forca*****\n");
    printf("************************************\n");

    char palavrasecreta[20];

    sprintf(palavrasecreta, "MELANCIA");
    int acertou = 0;
    int enforcou = 0;
    char chutesdousuario[26];
    int tentativas = 0;

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

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

            if (achou) {
                printf("%c ", palavrasecreta[i]);
            } else {            
                printf("_ ");
            }
        }
        printf("\n");
        char chute;
        printf("Qual letra? ");
        scanf(" %c", &chute);    



        chutesdousuario[tentativas] = chute;
        tentativas++;



    } while (!acertou && !enforcou);
    
    
    
    
}
1 resposta

Bom dia.

Não identifiquei onde no seu código você marca os valores das variáveis acertou/enforcou, para informar que a palavra foi acertada ou se perdeu todas as tentativas.