/* Siano dati i file input1.txt e input2.txt organizzati 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 *charc); void setNome(const *charn); void setEsami(int *e); float mediaEsami(); friend ostream & operator<<(ostream &o, Studente s); friend istream & operator>>(istream &i, Studente &s); }; l'operator == si basa sulle medie: due studenti sono uguali se le loro medie differiscono per meno 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 i due file in altrettante liste, nell'ordine in cui sono presenti nel file. 2. Crea una terza lista, ottenuta dalla fusione delle prime due, in cui la prima lista precede la seconda. 3. Crea un file di output in cui vengono memorizzati solo gli studenti che hanno una media superiore ad un valore da richiedere all'utente nel file di output la struttura della riga sarà: Cognome Nome mediaEsami voto1 voto2 ... voto#Esami Esempi di file di input e output Input1.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 input2.txt 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 output.txt Rossi Alberto 26.4 22 25 28 27 30 Bianchi Mario 24.71 18 29 30 20 21 30 25 Verdi Carlo 25 22 23 24 24 28 29 Carlini Gino 24.75 22 30 23 24 D'Agostino Gervaso 25.4 26 27 26 24 24 Tortora Gennaro 6 24.33 24 22 30 22 25 Esposito Gennaro 29 27 28 30 29 30 29 30 Mosca Alessandro 24.67 25 26 26 24 25 22 */