From MJanik
Zadanie przygotowawcze: Lista studentów – analiza ocen
Napisz program w C++, który wczytuje listę studentów z pliku i oblicza średnią ocenę wszystkich wpisanych osób.
Zadanie ma być krótkie, proste i ma zawierać:
- wczytywanie danych z pliku tekstowego,
- klasę reprezentującą pojedynczego studenta,
- klasę przechowującą dynamiczną tablicę wskaźników do obiektów Student,
- obliczenie średniej oceny,
- poprawne zwolnienie pamięci.
Format pliku wejściowego
Każdy wiersz pliku ma format:
imie nazwisko ocena
Przykład:
Anna Kowalska 4.5
Piotr Nowak 3.0
Julia Nowicka 5.0
Klasa Student
Pola:
name
surname
grade
Metody:
konstruktor ustawiający pola,
print() wypisująca dane studenta.
Klasa StudentList
Pola:
Student** students
int size
Wymagane metody:
void load(const std::string& filename)
wczytuje dane z pliku,
dynamicznie powiększa tablicę wskaźników,
dla każdej linii tworzy obiekt Student
double averageGrade()
liczy średnią ocen wszystkich studentów.
void printAll()
wypisuje dane studentów.
void saveAll()
zapisuje dane studentów do pliku.
Destruktor
Ma usunąć wszystkie obiekty oraz samą tablicę.
Program główny
Utwórz obiekt:
StudentList list;
Wywołaj:
list.load("students.txt");
list.printAll(); // opcjonalnie
double avg = list.averageGrade();
Wypisz wynik na ekran.