Adesso non so se potrebbe esserci un altro problema, ma nella inserisci:
codice:
void inserimento(studente vettstud[],int x)
{ int i;
for(i=0;i<x;i++)
{
printf("\nInserisci il cognome del %d studente :",i);
scanf("%s",&vettstud[i].cognome);
fflush(stdin);
printf("\nInserisci il nome del %d studente :",i);
scanf("%s",&vettstud[i].nome);
fflush(stdin);
printf("\nInserisci la data di nascita (gg-mm-aaaa) :");
scanf("%d-%d-%d",&vettstud[i].data_nascita.giorno,&vettstud[i].data_nascita.mese,&vettstud[i].data_nascita.anno);
printf("\nInserisci la media del %d studente:",i);
scanf("%f",&vettstud[i].media);
printf("\n**********\n");
}
printf("\n\nInserimento completato! \n\n");
printf("%d-%d-%d",&vettstud[0].data_nascita.giorno,&vettstud[0].data_nascita.mese,&vettstud[0].data_nascita.anno);
}
Pulisci lo stdin 2 volte ma usi 4 scanf.Prova a usare fflush dopo ogni scanf, il problema potrebbe essere che rimane il carattere '\n' a sporcare il buffer, che viene quindi letto al posto dell' input che digiti.