Alguém utilizando o VSCode sabe o que pode ter dado 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;
int main() {
abertura();
escolhepalavra();
do {
desenhoforca();
chuta(chutes);
} while (!ganhou() && !enforcou());
adicionapalavra();
}
int enforcou(){
int erros = 0;
for (int i = 0; i < chutesdados; i++)
{
int existe = 0;
for (int j = 0; j < strlen(palavrasecreta); j++)
{
if (chutes[i] == palavrasecreta[j])
{
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;
}
void abertura(){
printf("*********************************************\n");
printf("****************JOGO DE FORCA****************\n");
printf("*********************************************\n\n");
}
void chuta(){
char chute;
printf("Qual letra? ");
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 desenhoforca(){
printf("Chute de letra numero %d:\n", chutesdados);
for(int i = 0; i < strlen(palavrasecreta); i++) {
if(jachutou(palavrasecreta[i])) {
printf("%c ", palavrasecreta[i]);
} else {
printf("_ ");
}
}
printf("\n");
}
void escolhepalavra(){
FILE* f;
int qtdpalavras = 0;
f = fopen("palavras.txt", "r");
if(f==0){
printf("Arquivo/Banco de dados indisponível\n\n");
exit(1);
}
fscanf(f, "%d", &qtdpalavras);
srand(time(0));
int randomico = rand() % qtdpalavras;
for(int i = 0; i <= randomico; i++){
fscanf(f, "%s", palavrasecreta);
}
fclose(f);
}
void adicionapalavra(){
char queradicionar;
FILE* f;
printf("Deseja adicionar nova palavra no banco de dado da forca (S/N)?");
scanf(" %c", &queradicionar);
if(queradicionar == 'S'){
int qtdpalavras;
char novapalavra[20];
printf("\nDigite a nova palavra: ");
scanf("%s", novapalavra);
f = fopen("palavras.txt", "r+");
if(f==0){
printf("Arquivo/Banco de dados indisponível\n\n");
exit(1);
}
fscanf(f, "%i", &qtdpalavras);
qtdpalavras ++;
fseek(f, 0, SEEK_SET);
fprintf(f, "%i", qtdpalavras);
fseek(f, 0, SEEK_END);
fprintf(f, "\n%c", novapalavra);
fclose(f);
}
}