December 17, 2025, Wednesday, 350

Języki Programowania 11

From MJanik

Revision as of 07:12, 11 December 2025 by Majanik (Talk | contribs)
Jump to: navigation, search

Laboratorium 11 : zadanie dla grup D. Wielanka


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.