Advertisement
Guest User

Untitled

a guest
Aug 25th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. const int ROZMIAR = 6;
  8.  
  9.  
  10. class Pociag {
  11.     private:
  12.         string nazwaLinii;
  13.         string kolor;
  14.         int liczbaWagonow;
  15.        
  16.     public:
  17.         Pociag() = default;
  18.         Pociag(string nazwaLinii, string kolor, int liczbaWagoniw)
  19.             : nazwaLinii(nazwaLinii), kolor(kolor), liczbaWagonow(liczbaWagonow) {}
  20.            
  21.         string zwroc_nazwe() {
  22.             return nazwaLinii;
  23.         }
  24.         string zwroc_kolor() {
  25.             return kolor;
  26.         }
  27.         int zwroc_liczbe_wagonow() {
  28.             return liczbaWagonow;
  29.         }
  30.         void pokaz_opis() {
  31.             cout << "Dane Pociagu:\n" <<
  32.                 "Linia: " << nazwaLinii << "\nKolor: " << kolor << "\nLiczba wagonów:" << liczbaWagonow << endl;
  33.         }
  34. };
  35.  
  36. class Pociag_osobowy : public Pociag {
  37.     private:
  38.         int liczbaMiejsc;
  39.        
  40.     public:
  41.         Pociag_osobowy() = default;
  42.         Pociag_osobowy(string nazwaLinii, string kolor, int liczbaWagonow, int liczbaMiejsc)
  43.             : Pociag(nazwaLinii, kolor, liczbaWagonow), liczbaMiejsc(liczbaMiejsc) {}
  44.            
  45.         int getLiczbaMiejsc() {
  46.             return liczbaMiejsc;
  47.         }
  48.        
  49.         void pokaz_opis() {
  50.             cout << "Dane Pociagu osobowego:\n" <<
  51.                 "Linia: " << zwroc_nazwe() << "\nKolor: " << zwroc_kolor() << "\nLiczba wagonów:" << zwroc_liczbe_wagonow() << "\nLiczba miejsc" << liczbaMiejsc << endl;
  52.         }
  53. };
  54.  
  55. class Pociag_towarowy : public Pociag {
  56.     private:
  57.         int ladownosc;
  58.        
  59.    
  60.     public:
  61.         Pociag_towarowy() = default;
  62.         Pociag_towarowy(string nazwaLinii, string kolor, int liczbaWagonow, int ladownosc)
  63.             : Pociag(nazwaLinii, kolor, liczbaWagonow), ladownosc(ladownosc) {}
  64.            
  65.         int getLadownosc() {
  66.             return ladownosc;
  67.         }
  68.        
  69.         void pokaz_opis() {
  70.             cout << "Dane Pociagu osobowego:\n" <<
  71.                 "Linia: " << zwroc_nazwe() << "\nKolor: " << zwroc_kolor() << "\nLiczba wagonów:" << zwroc_liczbe_wagonow() << "\nLadownosc" << ladownosc << endl;
  72.         }
  73. };
  74.  
  75.  
  76.  
  77.  
  78. void znajdz_pociag_osoby_o_liczbe_miejsc(Pociag_osobowy* tab, int liczba_miejsc) {
  79.  
  80.     int brak = 0;
  81.     for (int i = 0; i < ROZMIAR - 1; i++) {
  82.         if (tab[i].getLiczbaMiejsc() == liczba_miejsc) {
  83.             brak = 1;
  84.             tab[i].pokaz_opis();
  85.         }
  86.     }
  87.     if (brak == 0) cout << "\nBrak pociagu o takiej liczbie miejsc" << endl;
  88. }
  89.  
  90.  
  91. void znajdz_pociag_o_okreslonej_ladownosci(Pociag_towarowy* tab, int ladow) {
  92.  
  93.     int brak = 0;
  94.     for (int i = 0; i < ROZMIAR - 1; i++) {
  95.         if (tab[i].getLadownosc() == ladow) {
  96.             brak = 1;
  97.             tab[i].pokaz_opis();
  98.         }
  99.     }
  100.     if (brak == 0) cout << "\nBrak pociagu o takiej ładownosc" << endl;
  101. }
  102.  
  103.  
  104.  
  105. int main() {
  106.  
  107.     Pociag_osobowy o1("Pogoń", "Czarny", 3, 40);
  108.     Pociag_osobowy o2("Wisła", "Czerwony", 4, 50);
  109.     Pociag_osobowy o3("Śląsk", "Niebieski", 5, 65);
  110.     Pociag_osobowy o4("Krakowiak", "Zielony", 6, 70);
  111.     Pociag_osobowy o5("Mazur", "Zółty", 2, 30);
  112.     Pociag_osobowy o6("Podlasiak", "Szary", 1, 15);
  113.  
  114.     Pociag_osobowy *Otab = new Pociag_osobowy[ROZMIAR];
  115.  
  116.     Otab[0] = o1;
  117.     Otab[1] = o2;
  118.     Otab[2] = o3;
  119.     Otab[3] = o4;
  120.     Otab[4] = o5;
  121.     Otab[5] = o6;
  122.  
  123.     Pociag_towarowy t1("Warszawiak", "Czarny", 7, 1000);
  124.     Pociag_towarowy t2("Krakus", "Czerwony", 6, 850);
  125.     Pociag_towarowy t3("Poznaniak", "Niebieski", 5, 700);
  126.     Pociag_towarowy t4("Wrocławiak", "Zielony", 5, 550);
  127.     Pociag_towarowy t5("Torunian", "Zółty", 8, 1150);
  128.     Pociag_towarowy t6("Slazak", "Szary", 1, 150);
  129.  
  130.     Pociag_towarowy *Ttab = new Pociag_towarowy[ROZMIAR];
  131.  
  132.     Ttab[0] = t1;
  133.     Ttab[1] = t2;
  134.     Ttab[2] = t3;
  135.     Ttab[3] = t4;
  136.     Ttab[4] = t5;
  137.     Ttab[5] = t6;
  138.  
  139.  
  140.     cout << "Pociag osobowy o licznie miejsc 70: ";
  141.     znajdz_pociag_osoby_o_liczbe_miejsc(Otab, 70);
  142.     cout << "\nPociag towarowy o ladownosci r \n";
  143.     znajdz_pociag_o_okreslonej_ladownosci(Ttab, 1000);
  144.     cout << endl;
  145.  
  146.     delete[] Otab;
  147.     delete[] Ttab;
  148.  
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement