/* Sia dato il file input.txt organizzatoi come segue: cognome nome #esami voto1 voto2 ... voto#esami il prototipo della classe Studente #define MAX_ESAMI 50 #define MAX_STRINGA 100 class Studente{ char* nome; char* cognome; int *voti; int numEsami; public: Studente(); Studente(const Studente &s); Studente(const char *nome, const *char cognome, int *e); float mediaEsami(); bool operator==(Studente s); Studente operator=(Studente d); void setCognome(const char *c); void setNome(const char *n); void setEsami(int *e); void addEsame(int v); float mediaEsami(); int get_numEsami(); char *getCognome(); char *getNome(); friend ostream & operator<<(ostream &o, Studente s); friend istream & operator>>(istream &i, Studente &s); }; la funzione setEsami assegna al vettore voti della classe gli elementi del parametro e. la funzione addEsame aggiunge un esame (il voto) al vettore voti. la funzione get_numEsami restituisce il numero di esami sostenuti. l'operator == si basa sulle numero di esami: due studenti sono uguali se hanno sostenuto lo stesso numero di esami la funzione mediaEsami() calcola la media degli esami ed il prototipo delle seguenti funzioni, da implementare: ostream & operator<<(ostream &o, Studente> s); istream & operator>>(istream &o, Studente &s); Scrivere un programma C++ che: 1. Carica il file in input.txt in una lista nell'ordine inverso cui sono presenti nel file. 2. Crea due nuove liste: nella prima lista si inseriscono gli studenti con un numero di esami superiore ad un valore chiesto all'utente nella seconda lista si inseriscono tutti gli altri studenti. 3. Crea due file di output in cui vengono memorizzati gli elementi delle liste create al punto precedente nei file di output la struttura della riga sarà: Cognome Nome mediaEsami voto1 voto2 ... voto#Esami Esempi di file di input e output input.txt Rossi Alberto 5 22 25 28 27 30 Bianchi Mario 7 18 29 30 20 21 30 25 Verdi Carlo 6 22 23 24 24 28 29 Russo Biagio 8 24 25 25 20 19 18 27 26 Barletta Giovanni 5 20 30 19 19 21 Carlini Gino 4 22 30 23 24 D'Agostino Gervaso 5 26 27 26 24 24 Tortora Gennaro 6 23 24 22 30 22 25 Esposito Gennaro 7 27 28 30 29 30 29 30 Mosca Alessandro 6 25 26 26 24 25 22 numero esami: 6 output1.txt Bianchi Mario 7 18 29 30 20 21 30 25 Russo Biagio 8 24 25 25 20 19 18 27 26 Esposito Gennaro 7 27 28 30 29 30 29 30 output2.txt Rossi Alberto 5 22 25 28 27 30 Verdi Carlo 6 22 23 24 24 28 29 Barletta Giovanni 5 20 30 19 19 21 Carlini Gino 4 22 30 23 24 D'Agostino Gervaso 5 26 27 26 24 24 Tortora Gennaro 6 23 24 22 30 22 25 Mosca Alessandro 6 25 26 26 24 25 22 */