Advertisement
farum12

Untitled

May 21st, 2015
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.22 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class urzadzenieOptyczne{
  6. protected:
  7.     float zoom;
  8.     float waga;
  9.     char* typMatrycy;
  10.  
  11. public:
  12.     urzadzenieOptyczne* nast;
  13.  
  14.    
  15.     urzadzenieOptyczne(){
  16.         zoom = 5;
  17.         waga = 111;
  18.         typMatrycy ="CCD";
  19.     }
  20.  
  21.    
  22.     urzadzenieOptyczne(float zoomIn, float wagaIn, char* typMatrycyIn){
  23.         zoom = zoomIn;
  24.         waga = wagaIn;
  25.         typMatrycy = typMatrycyIn;  
  26.     }
  27.  
  28.    
  29.     urzadzenieOptyczne(urzadzenieOptyczne &mk){
  30.         zoom = mk.zoom;
  31.         waga = mk.waga;
  32.         typMatrycy = mk.typMatrycy;
  33.         nast=mk.nast;
  34.     }
  35.  
  36.    
  37.     ~urzadzenieOptyczne() { delete this->nast; }//~urzadzenieOptyczne();
  38.  
  39.     //settery
  40.     void setZoom(float zoomIn){
  41.         zoom = zoomIn;
  42.     }
  43.     void setWaga(float wagaIn){
  44.         waga = wagaIn;
  45.     }
  46.     void setTypMatrycy(char* typMatrycyIn){
  47.         typMatrycy = typMatrycyIn;
  48.     }
  49.  
  50.     //gettery
  51.     float getZoom(){ return this->zoom; }
  52.     float getWaga(){ return this->waga; }
  53.     char* getTypMatrycy(){ return this->typMatrycy; }
  54.  
  55.    
  56.     void wypisz(){
  57.         cout << "Zoom: " << this->zoom << endl;
  58.         cout << "Waga: " << this->waga << endl;
  59.         cout << "Typ Matrycy: " << this->typMatrycy << endl;
  60.     }
  61. };
  62.  
  63. class kamera: public urzadzenieOptyczne{
  64. protected:
  65.     float czasPracyBaterii;
  66.     char* obslugiwaneFormaty;
  67. public:
  68.     kamera(){
  69.         czasPracyBaterii = 55;
  70.         obslugiwaneFormaty = "AVI, MKV, MP4";
  71.         urzadzenieOptyczne();
  72.     }
  73.     kamera(float zoomIn, float wagaIn, char* typMatrycyIn, float czasPracyBateriiIn, char* obslugiwaneFormatyIn){
  74.         urzadzenieOptyczne(zoomIn, wagaIn, typMatrycyIn);
  75.         czasPracyBaterii = czasPracyBateriiIn;
  76.         obslugiwaneFormaty = obslugiwaneFormatyIn;
  77.  
  78.     }
  79.     kamera(kamera &mk) : urzadzenieOptyczne(mk) {
  80.        
  81.         czasPracyBaterii = mk.czasPracyBaterii;
  82.         obslugiwaneFormaty = mk.obslugiwaneFormaty;
  83.     }
  84.     ~kamera(){
  85.     }
  86.     //setters
  87.     void setCzasPracyBaterii(float czasPracyBateriiIn){
  88.         czasPracyBaterii = czasPracyBateriiIn;
  89.     }
  90.     void setObslugiwaneFormaty(char* obslugiwaneFormatyIn){
  91.         obslugiwaneFormaty = obslugiwaneFormatyIn;
  92.     }
  93.  
  94.     //getters
  95.     float getCzasPracyBaterii(){ return this->czasPracyBaterii; }
  96.     char* getObslugiwaneFormaty(){ return this->obslugiwaneFormaty; }
  97.  
  98.     void wypisz(){
  99.         cout << "Zoom:" << this->zoom <<endl;
  100.         cout << "Waga:" << this->waga <<  endl;
  101.         cout << "Matryca:" << this->typMatrycy << endl;
  102.         cout << "Czas pracy baterii:" << this->czasPracyBaterii << endl;
  103.         cout << "Obslugiwane formaty:" << this->obslugiwaneFormaty << endl;
  104.     }
  105.  
  106. };
  107.  
  108. class aparat: public urzadzenieOptyczne{
  109. protected:
  110.     float maxZdj; //max ilosc zdjec
  111.     char* typ;  //lustrzanka, kompakt
  112. public:
  113.     aparat(){
  114.         maxZdj = 32;
  115.         typ = "Luszczanka";
  116.         urzadzenieOptyczne();
  117.     }
  118.     aparat(float zoomIn, float wagaIn, char* typMatrycyIn, float maxZdjIn, char* typIn){
  119.         urzadzenieOptyczne(zoomIn, wagaIn, typMatrycyIn);
  120.         maxZdj = maxZdjIn;
  121.         typ = typIn;
  122.  
  123.     }
  124.     aparat(aparat &mk): urzadzenieOptyczne(mk) {
  125.        
  126.         maxZdj = mk.maxZdj;
  127.         typ = mk.typ;
  128.     }
  129.     ~aparat(){
  130.     }
  131.     //setters
  132.     void setMaxZdj(float maxZdjIn){
  133.         maxZdj = maxZdjIn;
  134.     }
  135.     void setTyp(char* typIn){
  136.         typ = typIn;
  137.     }
  138.  
  139.     //getters
  140.     float getMaxZdj(){ return this->maxZdj; }
  141.     char* getTyp(){ return this->typ; }
  142.  
  143.     void wypisz(){
  144.         cout << "Zoom:" << this->zoom <<endl;
  145.         cout << "Waga:" << this->waga <<  endl;
  146.         cout << "Matryca:" << this->typMatrycy << endl;
  147.         cout << "Max zdjec: " << this->maxZdj << endl;
  148.         cout << "Typ: " << this->typ << endl;
  149.     }
  150.  
  151. };
  152.  
  153. aparat* wprowadzAparat(){
  154.     float zoom;
  155.     float waga;
  156.     char* typMatrycy = new char[20];
  157.     float maxZdj;
  158.     char* typ = new char[20];
  159.  
  160.     cout << "WPROWADZASZ WLASNIE URZADZENIE OPTYCZNE TYPU: APARAT" << endl;
  161.     cout << "Podaj zoom: " << endl;
  162.     cin >> zoom;
  163.     cout << "Podaj wage: " << endl;
  164.     cin >> waga;
  165.     cout << "Podaj typ matrycy: " << endl;
  166.     cin >> typMatrycy;
  167.     cout << "Podaj czas pracy baterii: " << endl;
  168.     cin >> maxZdj;
  169.     cout << "Podaj obslugiwane formaty: " << endl;
  170.     cin >> typ;
  171.  
  172.     aparat* newaparat = new aparat(zoom, waga, typMatrycy, maxZdj, typ);
  173.     return newaparat;
  174. }
  175.  
  176. kamera* wprowadzKamera(){
  177.     float zoom;
  178.     float waga;
  179.     char* typMatrycy = new char[20];
  180.     float czasPracyBaterii;
  181.     char* obslugiwaneFormaty = new char[20];
  182.  
  183.     cout << "WPROWADZASZ WLASNIE URZADZENIE OPTYCZNE TYPU: KAMERA" << endl;
  184.     cout << "Podaj zoom: " << endl;
  185.     cin >> zoom;
  186.     cout << "Podaj wage: " << endl;
  187.     cin >> waga;
  188.     cout << "Podaj typ matrycy: " << endl;
  189.     cin >> typMatrycy;
  190.     cout << "Podaj czas pracy baterii: " << endl;
  191.     cin >> czasPracyBaterii;
  192.     cout << "Podaj obslugiwane formaty: " << endl;
  193.     cin >> obslugiwaneFormaty;
  194.  
  195.     kamera* newkamera = new kamera(zoom, waga, typMatrycy, czasPracyBaterii, obslugiwaneFormaty);
  196.     return newkamera;
  197. }
  198.  
  199.  
  200. //REDO
  201. void pokaz(urzadzenieOptyczne* glowa){
  202.     urzadzenieOptyczne* urzadzenie;
  203.     for(urzadzenie = glowa;urzadzenie!=NULL;urzadzenie = urzadzenie->nast){
  204.         urzadzenie->wypisz();
  205.     }
  206.     cout << endl;
  207. }
  208.  
  209. int main(){
  210.     urzadzenieOptyczne* glowa = NULL;
  211.     urzadzenieOptyczne* wsk = NULL;
  212.  
  213.     cout << "-----------------------------------------------" << endl;
  214.     cout << "KAMERA" << endl;
  215.     cout << "-----------------------------------------------" << endl;
  216.     while(true){
  217.         kamera* dodaj = wprowadzKamera();
  218.     //jeśli głowa nie istnieje
  219.         if(glowa == NULL){
  220.             glowa = dodaj;
  221.             glowa->nast = NULL;
  222.         }
  223.         //jeśli głowa istnieje
  224.         else{
  225.             urzadzenieOptyczne *wsk;
  226.             for(wsk = glowa; wsk->nast != NULL; wsk = wsk->nast){ }
  227.             wsk->nast = dodaj;
  228.             wsk->nast->nast = NULL;
  229.            
  230.         }
  231.  
  232.         int czyChce;
  233.         cout << "Chcesz zakonczyc wprowadzanie kamer? TAK(1)/NIE(2)" << endl;
  234.         cin >> czyChce;
  235.         if(czyChce == 1)
  236.             break;
  237.     }
  238.     cout << "-----------------------------------------------" << endl;
  239.     cout << "APARAT" << endl;
  240.     cout << "-----------------------------------------------" << endl;
  241.    
  242.     while(true){
  243.         aparat* dodaj = wprowadzAparat();
  244.  
  245.         //jeśli głowa nie istnieje
  246.         if(glowa == NULL){
  247.             glowa = dodaj;
  248.             glowa->nast = NULL;
  249.         }
  250.         //jeśli głowa istnieje
  251.         else{
  252.             urzadzenieOptyczne *wsk;
  253.             for(wsk = glowa; wsk->nast != NULL; wsk = wsk->nast){ }
  254.             wsk->nast = dodaj;
  255.             wsk->nast->nast = NULL;
  256.         }
  257.  
  258.         int czyChce;
  259.         cout << "Chcesz zakonczyc wprowadzanie aparatow? TAK(1)/NIE(2)" << endl;
  260.         cin >> czyChce;
  261.         if(czyChce == 1)
  262.             break;
  263.     }
  264.  
  265.     //wyświelt
  266.     pokaz(glowa);
  267.  
  268.     system("pause");
  269.     return 0;
  270. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement