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);
  }
}