Meu cosdigo estava funcionando corretamente, fiz a alteração da aula 5 na função escolhepalavra, e agora o programa não seleciona nenhuma palavra. Fiz igual a alteração igual da aula, não sei oque possa estar dando de errado... `#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include "forca.h"
char palavrasecreta[20]; char chutes[26]; int chutesdados = 0;
void abertura(){ printf("***\n"); printf("* Jogo da 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;
}
int enforcou(){ int erros = 0;
for(int i = 0; i < chutesdados; i++){
int existe = 0;
for(int j = 0; j < (int)strlen(palavrasecreta); j++){
if(chutes[i] == palavrasecreta[j]){
existe = 1;
break;
}
}
if (!existe) erros++;
}
return erros >= 5;
}
int ganhou(){ for(int i = 0; i < (int)strlen(palavrasecreta); i++){ if(!jachutou(palavrasecreta[i])){ return 0; } } return 1; }
void desenhaforca(){ for (int i = 0; i < (int)strlen(palavrasecreta); i++) {
int achou = jachutou(palavrasecreta[i]);
if (achou){
printf("%c ", palavrasecreta[i]);
}
else{
printf("_ ");
}
}
printf("\n");
}
void escolhepalavra(){ FILE* f;
f = fopen("palavra.txt", "r");
if(f == 0) {
printf("Banco de dados de palavras nao disponivel\n\n");
exit(1);
}
int qtddepalavras;
fscanf(f, "%d", &qtddepalavras);
srand(time(0));
int randomico = rand() % qtddepalavras;
for(int i = 0; i <= randomico; i++) {
fscanf(f, "%s", palavrasecreta);
}
fclose(f);
}
int main() {
escolhepalavra();
abertura();
do{
desenhaforca();
chuta();
} while (!ganhou() && !enforcou());
return 0;
}`
7
ABACATE
ABACAXI
ACAI
ACEROLA
AMEIXA
AMORA
AVELA