Salve a tutti, ho questo algoritmo:

codice:
/*

Siano dati due file testo: studenti.txt e tesi.txt. Il primo contiene 
informazioni riguardanti tutti gli studenti di un corso di laurea;
il secondo contiene informazioni riguardanti i soli studenti del medesimo
corso di laurea che hanno già fatto richiesta della tesi.
Entrambi i file sono ordinati per numero di matricola crescente.
Scrivere una procedura che mostri a video la matricola e la media di
tutti gli studenti che hanno richiesto la tesi e che hanno svolto tutti gli esami.  
*/      

#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main(){
    

	fstream tesi ("tesi.txt", fstream::in | fstream::out);
	fstream studenti ("studenti.txt", fstream::in | fstream::out);

	if(!tesi.is_open()) {
		cout << "Il file studenti.txt non esiste\n";
		return 1;
	}

	if(!studenti.is_open()) {
		cout << "Il file studenti.txt non esiste\n";
		return 1;
	}


	while (!tesi.eof()) {
		
		char matricola_tesi[256], nome[256];

		tesi.getline(matricola_tesi, 256);
		tesi.getline(nome, 256);

		while (!studenti.eof()) {
			char matricola_studente[256];
			studenti.getline(matricola_studente, 256);
somma=0;
			media=0;
			for(int i=0;i<sost;i++){
                    
                    studenti>>nomesame;
                    cout<<nomesame<<endl;
                    studenti>>voto;
                    cout<<voto<<endl;
                    somma+=voto;
                    }
                    media=(somma/sost);
                    cout<<media<<endl;

			if (!strcmp(matricola_tesi, matricola_studente)) {
				cout << "ok " << matricola_studente << "\n";
				break;
			}
		}
		studenti.seekg (0, ios::beg);		
	}


	studenti.close();
	tesi.close();

return 0;

}
I file su cui ho effettuato il test sono:


studenti1.txt
codice:
1209
Ferme Vincenzo
2 0
Informatica 28
Economia 23
1210
Fermi Vincenzi
2 0
Programmazione 28
Scienze 23
tesi.txt
codice:
1210
Fermi Vincenzi
1209
Ferme Vincenzo


I Problemi riscontrati sono:


1) File studenti.txt con i dati di 2 Studenti, file tesi.txt con i dati dei due studenti presenti all'interno del file studenti.txt:

La media non viene aggiornata ma rimane quella calcolata per il primo studente, mettendo un èò di cout ho scoperto che non viene proprio toccata la parte relativa al secondo studente.


2) File studenti.txt con i dati di 2 Studenti, file tesi.txt con i dati di uno dei 2 studenti presenti all'interno del file studenti.txt:

Succede la stessa cosa descritta prima


Vi prego di aiutarmi, grazie 1000