Ciao a tutti... io ho il mio programma che deve richiamare in lettura un file txt. Quando lo compilo però da errore, e non capisco dove sbaglio... Grazie mille se qualcuno mi aiuta
codice:
#include <stdio.h>
int main() {
int t;
t=elia_secchiero_114087_count("train.txt");
printf("La parola contenuta piu' volte all'interno del file si ripete");
printf(" %d volte\n", t);
}
int elia_secchiero_114087_count("train.txt") {
#include <stdlib.h>
#include <string.h>
#define MAX_STR 50
#define MAX_PAR 100000
typedef struct {
char parola[MAX_STR+1];
int frequenza;
} statistica;
typedef enum {FALSE, TRUE} boolean;
FILE *file_input;
char parola_corrente[MAX_STR+1];
statistica elenco[MAX_PAR];
int i, lung_elenco, t;
int max, i_max;
boolean trovata;
if((file_input=fopen("train.txt", "r"))==NULL) {
printf("Errore nell'apertura del file\n");
exit(EXIT_FAILURE);
}
else {
//printf("Sto aprendo file!\n");
lung_elenco=0;
while((fscanf(file_input, "%s", parola_corrente)!=EOF)&&(lung_elenco < MAX_PAR)) {
trovata=FALSE;
for(i=0; i<lung_elenco&&!trovata; i++) {
if(strcmp(parola_corrente, elenco[i].parola)==0) {
trovata=TRUE;
elenco[i].frequenza++;
}
}
if(!trovata) {
strcpy(elenco[lung_elenco].parola, parola_corrente);
elenco[lung_elenco].frequenza=1;
lung_elenco++;
}
}
fclose(file_input);
max = 0;
for(i=0; i<lung_elenco; i++) {
if(elenco[i].frequenza > max) {
max = elenco[i].frequenza;
i_max = i;
}
}
t=elenco[i_max].frequenza;
//printf("La parola contenuta piu' volte all'interno del file e': %s (%d ripetizioni)\n", elenco[i_max].parola, elenco[i_max].frequenza);
return(t);
}
}