codice:
/*            
Usare le Struct; 
2 Struct: Alunni,Data
Usare le funzioni: Inserimento,Modifica data e per cognome,Stampa,Ordinamento,Ricerca per data e per cognome
*/
#include <stdio.h>
#define MAX 100


typedef struct{
  char cognome [30];
  char nome    [30];
  float media;
  int giorno;
  int mese;
  int anno;
 }studente;
 

      
// prototipi di funzione
int selezione(int sel);
void inserimento(studente vettstud[],int x);
void stampa(studente vettstud[],int size);

//il programma inizia dalla funzione main
int main()
{int sel,scelta,decisione,x,contr,size,i;
 contr=0;
  
   studente vettstudenti[100];
   printf("*** Benvenuto nel programma ***\n\n");
   printf("Inserisci il numero di studenti da prendere in considerazione(MAX 100) :");
   scanf("%d",&size);
    
    if(size > 100)
     { 
      while(size > 100)
       {printf("\n\nInserisci il numero di studenti da prendere in considerazione (MAX 100) :");
        scanf("%d",&size);
       }    
     }
     
   sel=selezione(scelta);
   
   while(contr==0)
    {
   
   switch (sel)
        {
             case 1:
                    printf("\n\nQuanti studenti vuoi inserire? :");
                    scanf("%d",&x);
                    inserimento(vettstudenti,x);
                    break;
             
             case 2:
                    printf("\n\n*** Stampo gli studenti ***");
                    stampa(vettstudenti,size);
                    break;
             
             
             case 6:
                    printf("Esco...");
                    contr=1;
                    break;
             
            default:
                    printf("\nAttenzione! Valore inserito errato!\n");
                    break;    
         }
 sel=selezione(scelta);
      }
    
    system("CLS");
    system("PAUSE");
    //fine del programma
}


int selezione(int sel)
{
    printf("\nProgramma studenti\n\n");
    printf("[1].Inserimento studenti\n[2].Stampa studenti\n[3].Ordinamento studenti\n[4].Modifica per data o cognome\n[5].Ricerca per data o per data o per congnome\n[6].Esci dal programma\n\nInserisci la tua scelta :");
    scanf("%d",&sel);
    return sel;
}

void inserimento(studente vettstud[],int x)
{  int i;
     for(i=0;i<x;i++)
        { 
         printf("\nInserisci il cognome del %d studente :",i+1);
         scanf("%s",&vettstud[i].cognome);
         fflush(stdin);
         printf("\nInserisci il nome del %d studente :",i+1);
         scanf("%s",&vettstud[i].nome);
         fflush(stdin);
         printf("\nInserisci la data di nascita (gg-mm-aaaa) :");
         scanf("%d-%d-%d",&vettstud[i].giorno,&vettstud[i].mese,&vettstud[i].anno);
         printf("\nInserisci la media del %d studente:",i+1);
         scanf("%f",&vettstud[i].media);
         printf("\n**********\n");
        }   
   printf("\n\nInserimento completato! \n\n");    
   printf("%d",&vettstud[0].giorno);
}

void stampa(studente vettstud[],int size)
{ int i;
  i=0;
   printf("\n\tCognome\t\tNome\t\tData di nascita\t\tMedia\n");
  for(i=0;i<size;i++)
  { 
   printf("\n\t%s",&vettstud[i].cognome);
   printf("\t\t\%s",&vettstud[i].nome); 
   printf("\t\t\%d-%d-%d",&vettstud[i].giorno,&vettstud[i].mese,&vettstud[i].anno);
  }
 printf("\n\n***Stampa completata!***\n\n");
}
L'esercizio non è completo....perchè quando vado ad eseguirlo la data mi risulta sporca e non mi è possibile scrivere?
Grazie a tutti anticipatamente