Olá, meu codigo está com um error na hora de compilar. Meu codigo é esse:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include "forca.h"
// variaveis globais char palavrachave[20]; char chutes[26]; int chutesdados = 0;
int acertou(){ for (int i = 0; i < strlen(palavrachave); i++){ if (!jachutou(palavrachave[i])){ return 0; } } return 1; }
int enforcou(){ int erros = 0;
for(int i = 0; i < chutesdados; i++){
int exite = 0;
for(int j = 0; j < strlen(palavrachave); j++){
if (chutes[i] == palavrachave[j]){
exite = 1;
break;
}
}
if (!exite) erros++;
}
return erros >= 5;
}
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 desenhaforca(){ for (int i = 0; i < strlen(palavrachave); i++){
int achou = jachutou(palavrachave[i]);
if (achou){
printf("%c", palavrachave[i]);
}
else{
printf("_");
}
}
printf("\n\n");
}
void escolhepalavra(){ FILE* f; f = fopen("palavras.txt", "r");
int qtddepalavras;
fscanf(f, "%d", &qtddepalavras);
srand(time(0));
int randomico = rand() % qtddepalavras;
for(int i = 0; i <= randomico; i++){
fscanf(f, "%s", palavrachave);
}
fclose(f);
}
int main(){
abertura();
escolhepalavra();
do{
desenhaforca();
chuta();
} while (!acertou() && !enforcou());
}
e ao executa, apresenta os seguinte erros:
[forca.c 2023-02-05 22:12:05.477]
,,forca.c: In function 'acertou':
forca.c:13:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < strlen(palavrachave); i++){
^
forca.c: In function 'enforcou':
forca.c:28:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j = 0; j < strlen(palavrachave); j++){
^
forca.c: At top level:
forca.c:54:5: error: conflicting types for 'jachutou'
int jachutou(char letra){
^~
forca.c:54:1: note: an argument type that has a default promotion can't match an empty parameter name list declaration
int jachutou(char letra){
^
In file included from forca.c:5:0:
forca.h:7:5: note: previous declaration of 'jachutou' was here
int jachutou();
^~
forca.c: In function 'desenhaforca':
forca.c:68:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < strlen(palavrachave); i++){