Facebook
From Small Cockroach, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 61
  1. #include<iostream>
  2. #include<vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. class Produkt {
  8.        
  9. protected:
  10.         string firma;
  11.         int pojemnosc;
  12.  
  13. public:
  14.         Produkt(string x=" ",int y = 0) {
  15.                 firma = x;
  16.                 pojemnosc = y;
  17.        
  18.         }
  19.         virtual void nazwa() {
  20.                 cout << "Produkt firmy: "<<firma<<" i ma pojemnosc: "<<pojemnosc<<"ml";
  21.        
  22.         };
  23. };
  24.  
  25. class Mleko : public Produkt {
  26. public:
  27.         Mleko(string x,int y) :Produkt(x,y) {};
  28.  
  29.         virtual void nazwa() {
  30.                 cout << "Nazwa produktu: Mleko,firmy: "<<firma <<", o pojemosci: "<<pojemnosc;
  31.         }
  32.  
  33. };
  34.  
  35.  
  36. class Sok : public Produkt {
  37. public:
  38.         Sok(string x, int y) :Produkt(x, y) {};
  39.  
  40.         virtual void nazwa() {
  41.                 cout << "Nazwa produktu: Sok,firmy: " << firma << ", o pojemosci: " << pojemnosc;
  42.         }
  43.  
  44. };
  45.  
  46.  
  47.  
  48. class Kawa : public Produkt {
  49. public:
  50.         Kawa(string x, int y) :Produkt(x, y) {};
  51.  
  52.         virtual void nazwa() {
  53.                 cout << "Nazwa produktu: Kawa,firmy: " << firma << ", o pojemosci: " << pojemnosc;
  54.         }
  55.  
  56. };
  57.  
  58. class Magazyn :Produkt{
  59. public:
  60.         vector<Produkt*> produkty;
  61.         Magazyn() {};
  62.         void operator +(Produkt *produkt) {
  63.                
  64.                 produkty.push_back(produkt);
  65.                
  66.         }
  67.         void operator -(Produkt* produkt) {
  68.        
  69.                 produkty.erase(remove(produkty.begin(), produkty.end(), produkt), produkty.end());
  70.        
  71.         }
  72.  
  73.                 void wypisz() {
  74.                         Produkt *wsk1;
  75.                        
  76.                         for (int i = 0; i < produkty.size(); i++) {
  77.                                 wsk1 = &produkty[i][0];
  78.                                 wsk1->nazwa();
  79.                                 cout << endl;
  80.                         }
  81.         }
  82.        
  83. };
  84.  
  85.  
  86. int main() {
  87. /*
  88.         vector<int> vec;
  89.         vec.push_back(1);
  90.         vec.push_back(45);
  91.         vec.push_back(3);
  92.         vec.push_back(4);
  93.         vec.push_back(5);
  94.  
  95.         vec.erase(remove(vec.begin(), vec.end(), 45), vec.end());
  96.         for (int i = 0; i < vec.size(); i++) {
  97.        
  98.                 cout << vec[i] << endl;
  99.        
  100.         }
  101.         */
  102.         /*
  103.         Magazyn magazyn;
  104.         string ooo;
  105.         cin >> ooo;
  106.         Mleko m1(ooo, 500);
  107.         Sok p("raz", 500);
  108.         Kawa p1("dwa", 300);
  109.         magazyn + &p;
  110.         magazyn + &p1;
  111.         magazyn + &m1;
  112.         magazyn - &p1;
  113.         magazyn.wypisz();
  114.         */
  115.         Magazyn magazyn;
  116.         int ans;
  117.         do {
  118.                 cout << "1.Jezeli chcesz dodac Mleko do magazynu wybierz 1" << endl;
  119.                 cout << "2.Jezeli chcesz dodac Sok do magazynu wybierz 2" << endl;
  120.                 cout << "3.Jezeli chcesz dodac Kawe do magazynu wybierz 3" << endl;
  121.                 cout << "4.Jezeli chcesz usunac produkt z magazynu wybierz 4" << endl;
  122.                 cout << "5.Jezeli chcesz wypisac zawartosc magazynu wybierz 5" << endl;
  123.                 cout << "6.Jezeli chcesz zakonczyc dzialanie wybierz 6" << endl<<endl;
  124.                 cout << "Twoja odpowiedz to: ";
  125.                 cin >> ans;
  126.                 string firma1;
  127.                 int objetosc;
  128.                 if (ans == 1) {
  129.                        
  130.                         cout << "Podaj nazwe firmy ktora wyprodukowala to Mleko: ";
  131.                         cin >> firma1;
  132.                         cout << "Podaj ile w ml jest tego mleka w butelce/katornie: ";
  133.                         cin >> objetosc;
  134.                        
  135.  
  136.                         Mleko m1(firma1, objetosc);
  137.                        
  138.                         magazyn + &m1;
  139.                         m1.nazwa();
  140.                        
  141.                 }
  142.                 else if (ans == 2) {
  143.                        
  144.                         cout << "Podaj nazwe firmy ktora wyprodukowala ten Sok: ";
  145.                         cin >> firma1;
  146.                         cout << "Podaj ile w ml jest tego soku w butelce/katornie: ";
  147.                         cin >> objetosc;
  148.  
  149.                         Sok s1(firma1, objetosc);
  150.  
  151.                         magazyn + &s1;
  152.                 }
  153.                 else if (ans == 3) {
  154.                        
  155.                         cout << "Podaj nazwe firmy ktora wyprodukowala ta Kawa: ";
  156.                         cin >> firma1;
  157.                        
  158.                         cout << "Podaj ile w ml jest tej kawy: ";
  159.                         cin >> objetosc;
  160.                        
  161.                         Kawa p1(firma1,objetosc);
  162.                         magazyn + &p1;
  163.                 }
  164.                 else if (ans == 4) {
  165.                         cout << "Podaj zmienna pod ktora zostal zapisany produkt ktory chcesz usunac z magazynu: ";
  166.                         //cin >> zmienna;
  167.                        
  168.                
  169.  
  170.                 }
  171.                 else if (ans == 5) {
  172.                         magazyn.wypisz();
  173.                 }
  174.                
  175.                        
  176.                
  177.                
  178.  
  179.         } while (ans != 6);
  180.        
  181. }
  182.  
  183.