Salve a tutti, ho questo algoritmo:
I file su cui ho effettuato il test sono: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; }
studenti1.txt
tesi.txtcodice:1209 Ferme Vincenzo 2 0 Informatica 28 Economia 23 1210 Fermi Vincenzi 2 0 Programmazione 28 Scienze 23
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



Rispondi quotando