Podsumowanie: Projekt magazyn

Projekt: Magazyn

Zaprojektuj i zaimplementuj podstawy programu zarządzającego magazynem przechowującym różnego typu substancje w pojemnikach. Kształt pojemnika, gęstość substancji oraz stopnień wypełnienia pojemnika decydują o masie substancji w pojemniku. Na początku system obsługuje dwa rodzaje pojemników określonych następującym zestawem cech:

Wszystkie wymiary wyrażone są w metrach, ilość substancji i objętość w metrach sześciennych. Każda substancja posiada nazwę (np. „Woda”) i określona jest gęstością (np. 1000 kg/$\text{m}^3$). Stwórz klasy reprezentujące pojemniki oraz klasę reprezentującą substancję. Zadbaj o hermetyzację danych (pola klas nie powinny być publiczne).

Każdy pojemnik udostępnia operacje:

Zaimplementuj klasę Magazyn, która reprezentuje pomieszczenie, w którym składowane są pojemniki. Zakładamy, że magazyn może pomieścić dowolną liczbę pojemników. Klasa Magazyn udostępnia następujące operacje:

Napisz program testujący działanie systemu, który utworzy obiekt reprezentujący magazyn. Dodaj do magazynu co najmniej 2 pojemniki każdego rodzaju, wypełnionych w różnym stopniu przykładowymi substancjami. Wypisz zawartość magazynu w konsoli i poproś użytkownika o wskazanie numeru pojemnika i podanie ilości substancji do dodania. Następnie program zwiększa objętość substancji we wskazanym pojemniku. W przypadku niepowodzenia, gdy pojemność pojemnika nie pozwala na dodanie takiej ilości substancji (złap stosowany wyjątek), wypełnij pojemnik w 100% i wypisz komunikat informujący o tym ile substancji nie zmieściło się w pojemniku. Następnie program konczy swoje działanie zapisując do pliku tekstowego wynik.txt zawartość magazynu w postaci listy pojemników w kolejności od najcięższego do najlżejszego.

Liczba pojemnikow: 4
Sumaryczna masa substancji: 2272.6 kg
Lista pojemnikow:
1: aluminium (2720 kg/m^3), 0.33 m^3, 33 %, 897.6 kg
2: drewno (700 kg/m^3), 0.9 m^3, 90 %, 630 kg
3: alkohol (790 kg/m^3), 0.5 m^3, 63.6639 %, 395 kg
4: benzyna (700 kg/m^3), 0.5 m^3, 63.6639 %, 350 kg

Podaj numer pojemnika: 4

Aktualna zawartosc pojemnika nr 4 : benzyna (700 kg/m^3), 0.5 m^3, 63.6639 %, 350 kg

Ile substancji dodać? 2.0

W pojemniku zmiesci sie tylko 0.285375 m^3 substancji. Zabraklo 1.71462 m^3.

Liczba pojemnikow: 4
Sumaryczna masa substancji: 2472.36 kg
Lista pojemnikow:
1: aluminium (2720 kg/m^3), 0.33 m^3, 33 %, 897.6 kg
2: drewno (700 kg/m^3), 0.9 m^3, 90 %, 630 kg
3: benzyna (700 kg/m^3), 0.785375 m^3, 100 %, 549.763 kg
4: alkohol (790 kg/m^3), 0.5 m^3, 63.6639 %, 395 kg

Wskazówka: aby uzyskać polimorfizm pojemników magazyn musi przechowywać wskaźniki do klasy bazowej pojemników.