Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Esta imprimindo duas linhas do jogo da forca

Se acertar ou errar a letra, ele deixa o jogo com 2 linhas!

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

void baner(){
    printf("/****************/\n");
    printf("/ Jogo de Forca */\n");
    printf("/****************/\n\n");
}

void chuta(char chutes[26],int tentativas){
    char chute;
        scanf("%c",&chute);

        chutes[tentativas] = chute;
}


int main(void){

    baner();

    char palavrasecreta[20];

    sprintf(palavrasecreta, "MELANCIA");

    int acertou = 0;
    int enforcou = 0;

    char chutes[26];
    int tentativas = 0;

    do{

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

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

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

        chuta(chutes, tentativas);
        tentativas++;


    }while (!acertou && !enforcou);    // "!" negacao  (1)  

}
1 resposta
solução

Você precisa deixar um espaço em printf(" %c ", palavrasecreta[i]);

Deixar um espaço entre a primeira aspas dupla e o %c.