Non capisco se si può effettivamente acquisire una struttura ed un enumerazione nella stessa funzione:
void acquisisciFilm(Film* p){
printf("Inserisci titolo Film: ");
scanf("%s", p->titolo);
printf("Inserisci regista Film");
scanf("%s", p->registra);
printf("Inserisci anno Film");
scanf("%d", &p->anno);
int tmp;
printf("0: Fantascienza\n1: Horror\n:2 Azione\n3: Animazione\n4: Drammatico\n");
do {
printf("Inserisci un valore: \n");
scanf("%d", &tmp);
if(tmp<0 || tmp>4)
printf("Errore\n");
}while (tmp<0 || tmp >4);