December 17, 2025, Wednesday, 350

Języki Programowania 11

From MJanik

(Difference between revisions)
Jump to: navigation, search
(3 intermediate revisions not shown)
Line 1: Line 1:
 +
[https://www.if.pw.edu.pl/~majanik/wiki/images/6/68/Zadanie11_DziedziczenieAlokacja2.pdf Laboratorium 11 ]: zadanie dla grup D. Wielanka
-
[http://www.if.pw.edu.pl/~majanik/data/JP/2025/Zadanie11_DziedziczenieAlokacja.pdf Laboratorium 11 ]: zadanie dla grup D. Wielanka
 
[http://www.if.pw.edu.pl/~majanik/data/JP/2025/Zadanie11_DziedziczenieTemperatureData.pdf Laboratorium 11 ]: zadanie dla grupy pt. 10-12
[http://www.if.pw.edu.pl/~majanik/data/JP/2025/Zadanie11_DziedziczenieTemperatureData.pdf Laboratorium 11 ]: zadanie dla grupy pt. 10-12

Revision as of 09:04, 12 December 2025

Laboratorium 11 : zadanie dla grup D. Wielanka


Laboratorium 11 : zadanie dla grupy pt. 10-12


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.