Laboratorium 12, poniedziałek 14.01.2013 W zadaniu należy

Transkrypt

Laboratorium 12, poniedziałek 14.01.2013 W zadaniu należy
Laboratorium 12, poniedziałek 14.01.2013
W zadaniu należy wykorzystać kontenery dostępne w STL. Do odpowiednich kontenerów będą
zapisywane obiekty typu samochód, motor i liczby int.
Należy zdefiniować bardzo proste klasy samochod i motor dziedziczące po klasie
abstrakcyjnej pojazd. Klasa pojazd powinna zawierać informację o ilości kół pojazdu oraz o jego
wadze. Klasa samochod dodatkowo powinna zawierać informację o marce samochodu, a klasa
motor o marce i typie motoru. Domyślnie samochód powinien mieć 4 koła a motor 2. Informacje o
samochodach (marka, waga) zawarte są w plikach samochodyIn_1.txt samochodyIn_2.txt, a
informacje o motorach (typ, marka, waga) zawarte są w pliku motoryIn.txt.
W funkcji main należy utworzyć listy (list) zawierające spis samochodów z obu podanych
plików wejściowych. Następnie ostatni (Nieznany) samochód z drugiej listy należy usunąć.
Zawartość obu list samochodów należy następnie wypisać do jednego pliku wyjściowego.
Wypisując informację o samochodzie należy podać jego markę, wagę, oraz ilość kół.
Następnie w funkcji main należy utworzyć mapę (map) zawierającą informację o motorach,
kluczem będzie cena (tablica z cenami podana jest w szablonie funkcji main). Każdy kolejna cena
w tablicy odpowiada kolejno motorom zawartym w pliku wejściowym z danymi o motorach.
Następnie usuwamy najtańszy motor (czyli ten, którego cena wynosi 1500) wcześniej wypisując na
ekran jaki to będzie motor (używając przeciążonego operatora <<). Po usunięciu najtańszego
motoru z mapy należy wypisać zawartość mapy do pliku wyjściowego. Wypisując informację o
motorze trzeba należy podać jego wszystkie właściwości: typ, markę, wagę, ilość kół oraz cenę
danego motoru.
Na koniec należy utworzyć stos (stack), do którego będą wpisane liczby. Następnie należy
wypisać na ekran ile jest liczb i usunąć ostatnią liczbę wcześniej wypisując ją na ekran. Liczby
znajdujące się na stosie należy następnie wypisać do pliku wyjściowego.
Przykładowe pliki wyjściowe znajdują się w katalogu z zadaniem.
Przykładowy efekt działania programu:
Usuniemy najtanszy motor, czyli:
____________
Marka: Suzuki
Typ: cross
Ilosc kol: 2
Waga: 110
____________
Cena: 1500
Ilosc liczb na stosie: 10
Ostatnia liczba na stosie: 100