aqui esta o codigo da forca
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "forca.h"
char palavrasecreta[20];
char chutes[26];
int chutesdados = 0;
void titulo(){
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;
}
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 selecionapalavra(){
FILE* f;
f = fopen("forcapalavras.txt", "r");
int qtdpalavras;
fscanf(f, "%d", &qtdpalavras);
srand(time(0));
int randomico = rand() % qtdpalavras;
for(int i = 0; i <= randomico; i++){
fscanf(f ,"%s", palavrasecreta);
}
fclose(f);
}
int ganhou(){
for(int i = 0; i < strlen(palavrasecreta); i++){
if (!jachutou(palavrasecreta[i])){
return 0;
break;
}
}
return 1;
}
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 >= 6;
}
int main(){
selecionapalavra();
titulo();
do{
desenhaforca();
chuta();
}while(!ganhou() && !enforcou());
if(ganhou()){
printf("parabens voce ganhou\n");
}
else if(enforcou()){
printf("voce perdeu tente novamente\n");
}
}
aqui esta o arquivo com as palavras
4
uva
banana
abacaxi
melancia
e aqui o arquivo .h
void titulo();
void chuta();
int jachutou(char letra);
void desenhaforca();
void selecionapalavra();
int ganhou();
int enforcou();
por algum motivo a forca não funciona não aparece os _ _ _ e quando digito uma letra o codigo para e fala que ganhei