Advertisement
Guest User

Untitled

a guest
Dec 27th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.18 KB | None | 0 0
  1. //main.c
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. #include "Ksiegarnia.h"
  6.  
  7. using namespace std;
  8.  
  9. vector <Ksiazka_Sportowa*> vKsiazka_Sportowa;
  10. vector <Ksiazka_Kucharska*> vKsiazka_Kucharska;
  11.  
  12. void DodajNowaKsiazke(Menu_Wybor *x)
  13. {
  14.    x -> Uzupelnij_Dane();
  15. }
  16.  
  17.  
  18. int main()
  19. {
  20.     //vKsiazka_Sportowa.push_back(new Ksiazka_Sportowa("Skazany na trening", "Paul Wade", 326, 10, "Dobre jakosciowo treningi", 10));
  21.     Menu m1;
  22.     switch(m1.PobierzOpcje())
  23.     {
  24.         case 1:
  25.         {
  26.             Menu_NowaKsiazka n1;
  27.             Menu_Wybor * wybor;
  28.             switch(n1.PobierzOpcje())
  29.             {
  30.                 case 1:
  31.                 {
  32.                     Ksiazka_Sportowa s1;
  33.                     wybor = &s1;
  34.                     break;
  35.                 }
  36.                 case 2:
  37.                 {
  38.                     Ksiazka_Kucharska k1;
  39.                     wybor = &k1;
  40.                     break;
  41.                 }
  42.                 DodajNowaKsiazke(wybor);
  43.             }
  44.            
  45.             break;
  46.         }
  47.         default:
  48.         {
  49.             cout << endl << "Wybrano niewlasciwa opcje! Sprobuj ponownie...";
  50.             main();
  51.             break;
  52.         }
  53.     }
  54.    
  55. }
  56.  
  57. //ksiegarnia.h
  58.  
  59. #include <iostream>
  60.  
  61. using namespace std;
  62.  
  63. class Menu
  64. {
  65.     int opt;
  66.    
  67.     public:
  68.     Menu();
  69.     ~Menu();
  70.    
  71.     int PobierzOpcje()
  72.     {
  73.         return opt;
  74.     }
  75. };
  76.  
  77. class Menu_Wybor
  78. {
  79. public:
  80.     virtual void Uzupelnij_Dane()=0;
  81. };
  82.  
  83. class Menu_NowaKsiazka
  84. {
  85.     int opt;
  86.    
  87. public:
  88.     Menu_NowaKsiazka();
  89.     ~Menu_NowaKsiazka();
  90.    
  91.     int PobierzOpcje()
  92.     {
  93.         return opt;
  94.     }
  95. };
  96.  
  97. class Ksiazka : public Menu_Wybor
  98. {
  99.     protected:
  100.     string nazwa;
  101.     string autor;
  102.     int ilosc_stron;
  103.     int ilosc_sztuk;
  104.    
  105.     int IleSztuk()
  106.     {
  107.         return ilosc_sztuk;
  108.     }
  109.     void SztukiUpdate(int x)
  110.     {
  111.         ilosc_sztuk = x;
  112.     }
  113.    
  114. public:
  115.     Ksiazka(string n="Brak Tytulu", string a="Brak Autora", int x=0, int i=0);
  116.     ~Ksiazka();
  117.     void Uzupelnij_Dane();
  118. };
  119.  
  120. class Ksiazka_Sportowa : public Ksiazka
  121. {
  122.     string Skutecznosc_Treningow;
  123.     int ilosc_cwiczen;
  124.    
  125. public:
  126.     Ksiazka_Sportowa(string n, string a, int x, int i, string o="Brak danych", int y=0)
  127.     :Ksiazka(n, a, x, i)
  128.     {
  129.         Skutecznosc_Treningow = o;
  130.         ilosc_cwiczen = y;
  131.     }
  132.    
  133.     ~Ksiazka_Sportowa();
  134.    
  135.     void Uzupelnij_Dane();
  136. };
  137.  
  138. class Ksiazka_Kucharska : public Ksiazka
  139. {
  140.     string Historia_Kucharza;
  141.     string kategorie;
  142.     int ilosc_przepisow;
  143.    
  144. public:
  145.     Ksiazka_Kucharska(string n, string a, int x, int i, string h="Nieznana", string k="Nieznane", int y=0);
  146.     ~Ksiazka_Kucharska();
  147.    
  148.     void Uzupelnij_Dane();
  149. };
  150.  
  151. //ksiegarnia.cpp
  152.  
  153. #include "Ksiegarnia.h"
  154.  
  155. Ksiazka::Ksiazka(string n, string a, int x, int i)
  156. {
  157.     nazwa = n;
  158.     autor = a;
  159.     ilosc_stron = x;
  160.     ilosc_sztuk = i;
  161. }
  162.  
  163. Ksiazka::~Ksiazka()
  164. {
  165.    
  166. }
  167.  
  168. void Ksiazka::Uzupelnij_Dane()
  169. {
  170.     cout << "Podaj nazwe ksiazki: ";
  171.     cin >> nazwa;
  172.     cout << endl <<"Podaj autora: ";
  173.     cin >> autor;
  174.     cout << endl << "Podaj ilosc stron: ";
  175.     cin >> ilosc_stron;
  176.     cout << endl << "Ilosc sztuk: ";
  177.     cin >> ilosc_sztuk;
  178. }
  179.  
  180. Ksiazka_Sportowa::~Ksiazka_Sportowa()
  181. {
  182.    
  183. }
  184.  
  185. void Ksiazka_Sportowa::Uzupelnij_Dane()
  186. {
  187.     cout << endl << "Opis skutecznosci treningow: ";
  188.     cin >> Skutecznosc_Treningow;
  189.     cout << endl << "Ilosc cwiczen: ";
  190.     cin >> ilosc_cwiczen;
  191.    
  192.     cout << endl << "Do rejestru dodano nowa ksiazke!" << endl << "Nazwa: " << nazwa << endl << "Autor: " << autor << endl << "Rodzaj: Ksiazka Sportowa";
  193. }
  194.  
  195. Ksiazka_Kucharska::Ksiazka_Kucharska(string n, string a, int x, int i, string h, string k, int y)
  196. :Ksiazka(n, a, x, i)
  197. {
  198.     Historia_Kucharza = h;
  199.     kategorie = k;
  200.     ilosc_przepisow = y;
  201. }
  202.  
  203. Ksiazka_Kucharska::~Ksiazka_Kucharska()
  204. {
  205.    
  206. }
  207.  
  208. void Ksiazka_Kucharska::Uzupelnij_Dane()
  209. {
  210.     cout << endl << "Podaj historie kucharza: ";
  211.     cin >> Historia_Kucharza;
  212.     cout << endl << "Podaj kategorie przepisow: ";
  213.     cin >> kategorie;
  214.     cout << endl << "Ilsoc przepisow: ";
  215.     cin >> ilosc_przepisow;
  216.    
  217.     cout << endl << "Do rejestru dodano nowa ksiazke!" << endl << "Nazwa: " << nazwa << endl << "Autor: " << autor << endl << "Rodzaj: Ksiazka Kucharska" << endl;
  218. }
  219.  
  220. Menu::Menu()
  221. {
  222.     cout << "Co chcesz zrobic:" << endl;
  223.     cout << "1. Dodaj Ksiazke" << endl;
  224.     cout << "2. Kup Ksiazke" << endl;
  225.     cout << "3. Lista Ksiazek" << endl;
  226.     cout << "Twoja wybor: ";
  227.     cin >> opt;
  228. }
  229.  
  230. Menu::~Menu()
  231. {
  232.    
  233. }
  234.  
  235. Menu_NowaKsiazka::Menu_NowaKsiazka()
  236. {
  237.     cout << "Wybierz rodzaj ksiazki: " << endl;
  238.     cout << "1. Sportowa" << endl;
  239.     cout << "2. Kucharska" << endl;
  240.     cout << "Twoj wybor: ";
  241.     cin >> opt;
  242. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement