Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- const int ROZMIAR = 6;
- class Pociag {
- private:
- string nazwaLinii;
- string kolor;
- int liczbaWagonow;
- public:
- Pociag() = default;
- Pociag(string nazwaLinii, string kolor, int liczbaWagoniw)
- : nazwaLinii(nazwaLinii), kolor(kolor), liczbaWagonow(liczbaWagonow) {}
- string zwroc_nazwe() {
- return nazwaLinii;
- }
- string zwroc_kolor() {
- return kolor;
- }
- int zwroc_liczbe_wagonow() {
- return liczbaWagonow;
- }
- void pokaz_opis() {
- cout << "Dane Pociagu:\n" <<
- "Linia: " << nazwaLinii << "\nKolor: " << kolor << "\nLiczba wagonów:" << liczbaWagonow << endl;
- }
- };
- class Pociag_osobowy : public Pociag {
- private:
- int liczbaMiejsc;
- public:
- Pociag_osobowy() = default;
- Pociag_osobowy(string nazwaLinii, string kolor, int liczbaWagonow, int liczbaMiejsc)
- : Pociag(nazwaLinii, kolor, liczbaWagonow), liczbaMiejsc(liczbaMiejsc) {}
- int getLiczbaMiejsc() {
- return liczbaMiejsc;
- }
- void pokaz_opis() {
- cout << "Dane Pociagu osobowego:\n" <<
- "Linia: " << zwroc_nazwe() << "\nKolor: " << zwroc_kolor() << "\nLiczba wagonów:" << zwroc_liczbe_wagonow() << "\nLiczba miejsc" << liczbaMiejsc << endl;
- }
- };
- class Pociag_towarowy : public Pociag {
- private:
- int ladownosc;
- public:
- Pociag_towarowy() = default;
- Pociag_towarowy(string nazwaLinii, string kolor, int liczbaWagonow, int ladownosc)
- : Pociag(nazwaLinii, kolor, liczbaWagonow), ladownosc(ladownosc) {}
- int getLadownosc() {
- return ladownosc;
- }
- void pokaz_opis() {
- cout << "Dane Pociagu osobowego:\n" <<
- "Linia: " << zwroc_nazwe() << "\nKolor: " << zwroc_kolor() << "\nLiczba wagonów:" << zwroc_liczbe_wagonow() << "\nLadownosc" << ladownosc << endl;
- }
- };
- void znajdz_pociag_osoby_o_liczbe_miejsc(Pociag_osobowy* tab, int liczba_miejsc) {
- int brak = 0;
- for (int i = 0; i < ROZMIAR - 1; i++) {
- if (tab[i].getLiczbaMiejsc() == liczba_miejsc) {
- brak = 1;
- tab[i].pokaz_opis();
- }
- }
- if (brak == 0) cout << "\nBrak pociagu o takiej liczbie miejsc" << endl;
- }
- void znajdz_pociag_o_okreslonej_ladownosci(Pociag_towarowy* tab, int ladow) {
- int brak = 0;
- for (int i = 0; i < ROZMIAR - 1; i++) {
- if (tab[i].getLadownosc() == ladow) {
- brak = 1;
- tab[i].pokaz_opis();
- }
- }
- if (brak == 0) cout << "\nBrak pociagu o takiej ładownosc" << endl;
- }
- int main() {
- Pociag_osobowy o1("Pogoń", "Czarny", 3, 40);
- Pociag_osobowy o2("Wisła", "Czerwony", 4, 50);
- Pociag_osobowy o3("Śląsk", "Niebieski", 5, 65);
- Pociag_osobowy o4("Krakowiak", "Zielony", 6, 70);
- Pociag_osobowy o5("Mazur", "Zółty", 2, 30);
- Pociag_osobowy o6("Podlasiak", "Szary", 1, 15);
- Pociag_osobowy *Otab = new Pociag_osobowy[ROZMIAR];
- Otab[0] = o1;
- Otab[1] = o2;
- Otab[2] = o3;
- Otab[3] = o4;
- Otab[4] = o5;
- Otab[5] = o6;
- Pociag_towarowy t1("Warszawiak", "Czarny", 7, 1000);
- Pociag_towarowy t2("Krakus", "Czerwony", 6, 850);
- Pociag_towarowy t3("Poznaniak", "Niebieski", 5, 700);
- Pociag_towarowy t4("Wrocławiak", "Zielony", 5, 550);
- Pociag_towarowy t5("Torunian", "Zółty", 8, 1150);
- Pociag_towarowy t6("Slazak", "Szary", 1, 150);
- Pociag_towarowy *Ttab = new Pociag_towarowy[ROZMIAR];
- Ttab[0] = t1;
- Ttab[1] = t2;
- Ttab[2] = t3;
- Ttab[3] = t4;
- Ttab[4] = t5;
- Ttab[5] = t6;
- cout << "Pociag osobowy o licznie miejsc 70: ";
- znajdz_pociag_osoby_o_liczbe_miejsc(Otab, 70);
- cout << "\nPociag towarowy o ladownosci r \n";
- znajdz_pociag_o_okreslonej_ladownosci(Ttab, 1000);
- cout << endl;
- delete[] Otab;
- delete[] Ttab;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement