Estou usando o vscode, e não consigo rodar mais o código depois de criar a função para ler o arquivo com as palavras. O terminal retorna: Floating point exception: 8 O que isso significa?
Meu código:
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
void abertura();
void chuta();
int jachutou(char letra);
void desenhaforca();
void escolhepalavra();
int enforcou();
int ganhou();
char chutes[26];
char palavrasecreta[20];
int chutesdados = 0;
void abertura(){
printf("*******************\n");
printf("* Jogo de Forca *\n");
printf("*******************\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 desenhaforca(){
for(int i = 0; i < strlen(palavrasecreta); i++) {
int achou = jachutou(palavrasecreta[i]);
if (achou){
printf("%c ", palavrasecreta[i]);
} else{
printf("_ ");
}
}
printf("\n");
}
void escolhepalavra() {
FILE* f;
f = fopen("palavras.txt", "r");
if(f == 0) {
printf("Banco de dados de palavras não disponível\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 enforcou(){
int erros = 0;
for (int i=0; i< chutesdados; i++){
int existe = 0;
if(jachutou(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(){
escolhepalavra();
abertura();
do{
desenhaforca();
chuta();
} while(!ganhou() && !enforcou());
}