/* 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. l'operator == si basa sulle medie: due studenti sono uguali se le loro medie differiscono per meno di 0.1 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 in cui sono presenti nel file. 2. Crea due nuove liste: nella prima lista si inseriscono gli studenti con una media 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 valore medio: 24 output1.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 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 output2.txt Russo Biagio 8 24 25 25 20 19 18 27 26 23 Barletta Giovanni 5 20 30 19 19 21 */