salve. mi aiutate? mi dite cosa c'è che non va in questo programma? sia semanticamente che sintatticamente..grazie



/*Programma accessi balneari*/
#include<stdio.h>
#include<string.h>

typedef enum {falso, vero} boolean;
typedef struct {char CF[16];
int data[6];
boolean ombrellone;
boolean lettino;
}nuovoAccesso;

void inserisciAccesso(nuovoAccesso info);
int accessiUtente(char key[]);
int accessiGiornalieri(int key[]);

FILE *fp;
int tot;

main()
{
int scelta, n, data[6], totale;
char codfisc[16];
nuovoAccesso utente;

do {printf("\n Inserisci 1 per accesso");
printf("\n Inserisci 2 per accessi utenti");
printf("\n Inserisci 3 per accessi giornalieri");
printf("\n Inserisci 0 per uscire");
scanf("%d", &scelta);

switch(scelta)
{case 1: printf("\n Inserisci il codice fiscale");
scanf("%s", &utente.CF);
printf("\n Inserisci data di accesso");
scanf("%d", &utente.data);
printf("\n Inserisci 1 per noleggio ombrellone, 0 per continuare");
scanf("%d", &n);
if(n==1) utente.ombrellone=vero;
else utente.ombrellone=falso;
printf("\n Inserisci 1 per noleggio lettino, 0 per continuare");
scanf("%d", &n);
if(n==1) utente.lettino=vero;
else utente.lettino=falso;
inserisciAccesso(utente);
break;

case 2: printf("\n Inserisci un codice fiscale");
scanf("%s", &codfisc);
totale=accessiUtente(codfisc);
scanf("%d", &totale);
break;

case 3: printf("\n Inserisci una data");
scanf("%s", &data);
totale=accessiGiornalieri(data);
scanf("%d", &totale);
break;

case 0: break;
}
} while(scelta!=0);
}

void inserisciAccesso(nuovoAccesso info);
{ fp=fopen("accessi.dat", "a");
if (fp!=NULL)
{fwrite(&info, sizeof(nuovoAccesso), 1, fp);
fclose(fp);
}
else printf("\n Errore nell'apertura del file");
}

int accessiUtente(char key[]);
{int i;
nuovoAccesso temp;
fp=fopen("accessi.dat", "r");
if(fp!=NULL)
{i=0;
while(fread(&temp[i]; sizeof(nuovoAccesso), 1, fp))
{
if (strcmp(key, temp[i].CF)==0) i++;
}
i=tot;
}
else printf("\n Errore nell'apertura del file"),

return tot;
}

int accessiGiornalieri(int key[]);
{int i;
nuvoAccesso temp;
fp=fopen("accessi.dat", "r");
if(fp!=NULL)
{i=0;
while(fread(&temp[i]; sizeof(nuovoAccesso), 1, fp))
{
if (strcmp(key, temp[i].data)==0) i++;
}
i=tot;
}
else printf("\n Errore nell'apertura del file"),

return tot;
}