Utilizo Windows na máquina e no início do curso instalei o MinGW e fiz as configurações nas variáveis de ambiente.
No entanto, na hora de executar o código, mesmo utilizando a biblioteca #include <locale.h>
e no main informando o setlocale(LC_ALL, "Portuguese");
, quando executo as palavras com acento que estão dentro de printf estão saindo desconfiguradas.
Envio código abaixo:
#include <stdio.h>
#include <string.h>
#include <locale.h>
char palavrasecreta[20];
char chutes[26];
int tentativas = 0;
void abertura() {
printf("/****************/\n");
printf("/ Jogo de Forca */\n");
printf("/****************/\n\n");
}
void chuta() {
char chute;
printf("Qual letra? ");
scanf(" %c", &chute);
chutes[tentativas] = chute;
}
int jachutou(char letra) {
int achou = 0;
for(int j = 0; j < tentativas; j++) {
if(chutes[j] == letra) {
achou = 1;
break;
}
}
return achou;
}
void desenhaforca() {
printf("Você já deu %d chutes\n", tentativas);
for(int i = 0; i < strlen(palavrasecreta); i++) {
if(jachutou(palavrasecreta[i])) {
printf("%c ", palavrasecreta[i]);
} else {
printf("_ ");
}
}
printf("\n");
}
void escolhepalavra() {
sprintf(palavrasecreta, "MELANCIA");
}
int main() {
setlocale(LC_ALL, "Portuguese");
int acertou = 0;
int enforcou = 0;
abertura();
escolhepalavra();
do {
desenhaforca();
chuta();
tentativas++;
} while (!acertou && !enforcou);
}