codice:
case 10: int ma_s,q,s;
                     string no_c;//nome del corso
                     cout<<"inserisci la matricola dello studente"<<endl<<endl;
                     cin>>ma_s;
                     q=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,ma_s,0);
                     while(q==0)
                     {
                         cout<<"lo studente con tale matricola non è stato trovato"<<endl;
                         cout<<"reinserisci il numero di matricola"<<endl;
                         cin>>ma_s;
                         q=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,ma_s,0);
                     }
                     no_c=tutti_corsi[dim_ins].ricerca_codice_per_titolo(dim_ins,tutti_corsi[q].codice_insegnamento);
                     cout<<"esame: "<<endl<<endl;
                     cout<<"titolo del corso: "<<no_c;
                     cout<<"data dell'esame: ";
                     tutti_corsi[q].stampa_data_esame(cout);
                     tutti_corsi[q].stampa_voto(cout);
                     while(q<dim_es)
                     {
                         s=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,ma_s,q);
                         no_c=tutti_corsi[dim_ins].ricerca_codice_per_titolo(dim_ins,tutti_corsi[s].codice_insegnamento);
                         cout<<"esame: "<<endl<<endl;
                         cout<<"titolo del corso: "<<no_c;
                         cout<<"data dell'esame: ";
                         tutti_corsi[s].stampa_data_esame(cout);
                         tutti_corsi[s].stampa_voto(cout);
                         q=s;
                     }
                     if(q==dim_es)cout<<"non sono presenti altri esami sostenuti da quello studente"<<endl;
                     break;
            case 11: int mat_s,d,w,somma=0,num_voti=0;
                     float media;
                     cout<<"inserisci la matricola dello studente"<<endl<<endl;
                     cin>>mat_s;
                     d=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,mat_s,0);
                     while(d==0)
                     {
                         cout<<"lo studente con tale matricola non è stato trovato"<<endl;
                         cout<<"reinserisci il numero di matricola"<<endl;
                         cin>>mat_s;
                         d=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,mat_s,0);
                     }
                     somma=somma+tutti_esami[d].voto;
                     num_voti++;
                     while(d<dim_es)
                     {
                         w=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,mat_s,d);
                         somma=somma+tutti_esami[w].voto;
                         num_voti++;
                         d=w;
                     }
                     media=somma/num_voti;
                     cout<<"la media dei voti è "<<media;
                     break;
            case 12: int b,a,num_stu=0,codi_ins;
                     DATA data1,data2;
                     char sep;
                     cout<<"inserisci il codice dell'insegnamento"<<endl<<endl;
                     cin>>codi_ins;
                     cout<<"inserisci la prima data dalla quale vuoi iniziare la ricerca(in questo formato g/m/a)"<<endl<<endl;
                     cin>>data1.giorno>>sep>>data1.mese>>sep>>data1.anno;
                     cout<<"inserisci la seconda data che rappresenta il termine della ricerca(sempre nello stesso formato)"<<endl<<endl;
                     cin>>data2.giorno>>sep>>data2.mese>>sep>>data2.anno;
                     b=tutti_esami[dim_es].ricerca_esame_per_codice_insegnamento(dim_es,codi_ins,0);
                     while(b==0)
                     {
                         cout<<"l'insegnamento con tale codice non è stato trovato"<<endl;
                         cout<<"reinserisci il codice"<<endl;
                         cin>>codi_ins;
                         b=tutti_esami[dim_es].ricerca_esame_per_codice_insegnamento(dim_es,codi_ins,0);
                     }
                     if(data1.giorno<tutti_esami[b].data_esame.giorno<data2.giorno && data1.mese<tutti_esami[b].data_esame.mese<data2.mese && data1.anno<tutti_esami[b].data_esame.anno<data2.anno)
                     {
                         cout<<"l'esame è stato sostenuto dallo studente il cui numero di matricola è: "<<tutti_esami[b].matricola_studente<<endl;
                         num_stu++;
                     }
                     while(b<dim_es)
                     {
                         a=tutti_esami[dim_es].ricerca_esame_per_codice_insegnamento(dim_es,codi_ins,b);
                         if(data1.giorno<tutti_esami[a].data_esame.giorno<data2.giorno && data1.mese<tutti_esami[a].data_esame.mese<data2.mese && data1.anno<tutti_esami[a].data_esame.anno<data2.anno)
                         {
                             cout<<"l'esame è stato sostenuto dallo studente il cui numero di matricola è: "<<tutti_esami[a].matricola_studente<<endl;
                             num_stu++;
                         }
                         b=a;
                     }
                     cout<<"l'esame è stato sostenuto da "<<num_stu<<" studenti"<<endl<<endl;
                     break;
            case 13: int f,r,codi_in,num_tot=0,somma2=0;
                     float media_es;
                     cout<<"inserisci il codice dell'insegnamento"<<endl<<endl;
                     cin>>codi_in;
                     f=tutti_esami[dim_es].ricerca_esame_per_codice_insegnamento(dim_es,codi_in,0);
                     while(f==0)
                     {
                         cout<<"l'insegnamento con tale codice non è stato trovato"<<endl;
                         cout<<"reinserisci il codice"<<endl;
                         cin>>codi_in;
                         f=tutti_esami[dim_es].ricerca_esame_per_codice_insegnamento(dim_es,codi_in,0);
                     }
                     somma=somma+tutti_esami[f].voto;
                     num_tot++;
                     while(f<dim_es)
                     {
                         r=tutti_esami[dim_es].ricerca_per_matricola_studente(dim_es,mat_s,f);
                         somma=somma+tutti_esami[r].voto;
                         num_tot++;
                         f=r;
                     }
                     media_es=somma2/num_tot;
                     cout<<"la media delle votazioni ottenute da tutti gli studenti in tale esame è: "<<media_es<<endl<<endl;
                     break;
            case 14: cout<<"operazioni terminate,arrivederci"<<endl<<endl;
                     break;
            default: cout<<"scelta non valida";
       }
    }
    while(scelta1!=14);
    f1.close();
    f2.close();
    f3.close();
    ofstream f4("studenti.txt");
    for(int i=0;i<dim_stud;i++)
    {
        f4<<tutti_gli_studenti[i].nome;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].cognome;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].data_di_nascita.giorno;
        f4.put('/');
        f4<<tutti_gli_studenti[i].data_di_nascita.mese;
        f4.put('/');
        f4<<tutti_gli_studenti[i].data_di_nascita.anno;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].indirizzo;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].matricola;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].facolta;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].anno_corso;
        f4.put('/n');
        f4<<tutti_gli_studenti[i].email;
        f4.put('/n');
    }
    f4.close();
    ofstream f5("corsi.txt");
    for(int i=0;i<dim_stud;i++)
    {
        f5<<tutti_corsi[i].nome_corso;
        f5.put('/n');
        f5<<tutti_corsi[i].codice_corso;
        f5.put('/n');
        f5<<tutti_corsi[i].cfu;
        f5.put('/n');
        f5<<tutti_corsi[i].anno;
        f5.put('/n');
        f5<<tutti_corsi[i].semestre;
        f5.put('/n');
    }
    f5.close();
    ofstream f6("esami.txt");
    for(int i=0;i<dim_stud;i++)
    {
        f6<<tutti_esami[i].matricola_studente;
        f6.put('/n');
        f6<<tutti_esami[i].codice_insegnamento;
        f6.put('/n');
        f6<<tutti_esami[i].data_esame.giorno;
        f6.put('/');
        f6<<tutti_esami[i].data_esame.mese;
        f6.put('/');
        f6<<tutti_esami[i].data_esame.anno;
        f6.put('/n');
        f6<<tutti_esami[i].voto;
        f6.put('/n');
    }
    f6.close();
    return 0;
}