quando eu erro a letra apenas uma vez ele continua aumentando a variavel erros mesmo asertando em seguida
#include <stdio.h>
#include <string.h>
#include <locale.h>
int chutesDados = 0;
char chutes[26];
char palavraSecreta[26];
void abertura() {
printf("/****************/\n");
printf("/ Jogo de Forca */\n");
printf("/****************/\n\n");
}
void chuta() {
char chute;
scanf(" %c", &chute);
chutes[(chutesDados)] = chute;
(chutesDados)++;
}
int jachutou(char letra) {
int achou = 0;
for (int j = 0; j < chutesDados; j++) {
if(chutes[j] == letra) {
achou = 1;
break;
}
}
return achou;
}
void imprimirForca() {
for (int i = 0; i < strlen(palavraSecreta); i++) {
int achou = jachutou(palavraSecreta[i]);
//imprime a letra ou _
if (achou) {
printf("%c", palavraSecreta[i]);
} else {
printf ("_ ");
}
}
printf("\n");
}
void escolhepalavra() {
sprintf(palavraSecreta, "MELANCIA");
}
int enforcou() {
int erros = 0;
for (int i = 0; i < chutesDados; i++) {
printf("%d", erros);
int existe = 0;
for (int j = 0; j < strlen(palavraSecreta); j++) {
if (chutes[i] == palavraSecreta[i]) {
existe = 1;
break;
}
}
if (!existe) {
erros++;
}
}
return erros >= 5;
}
int ganhou() {
for (int i = 0; i < strlen(palavraSecreta); i++) {
if (!jachutou(palavraSecreta[i])) {
return 0;
}
}
return 1;
}
int main() {
setlocale (LC_ALL, "portuguese");
int acertou = 0;
escolhepalavra();
abertura();
do
{
imprimirForca();
chuta();
} while (!ganhou() && !enforcou());
}