Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.70 KB | None | 0 0
  1. cw.cpp
  2. #include <iostream>
  3. #include "cw.h"
  4.  
  5. using namespace std;
  6.  
  7.  
  8. Pojemnik::Pojemnik(string n, int j, double p, double z)
  9. {
  10.     nazwa=n;
  11.     jednostka=j;
  12.     pojemnosc=p;
  13.     zajete=z;
  14. }
  15.  
  16. double Pojemnik::Dodaj(double dodane)
  17. {
  18.     zajete=zajete+dodane;
  19.     if(zajete>pojemnosc)
  20.     {
  21.         double wylane= zajete - pojemnosc;
  22.         cout<<"Wylano: "<<wylane<<endl;
  23.     }
  24.     return 0;
  25. }
  26.  
  27. void Pojemnik::Wypisz()
  28. {
  29.     cout<<"Pojemnik "<<nazwa<<" z jednostka: "<<jednostka <<" o pojemnosci: "<<pojemnosc<<" zapelniony w: "<<zajete<<endl;
  30.  
  31. }
  32.  
  33. Pojemnik::Pojemnik(Pojemnik &p)
  34. {
  35.     nazwa=p.nazwa;
  36.     jednostka=p.jednostka;
  37.     pojemnosc=p.pojemnosc;
  38.     zajete=p.zajete;
  39. }
  40.  
  41. double Bipojemnik::Dolej(int ilosc)
  42. {
  43.     try
  44.     {
  45.         double wolne = pojemnik1.pojemnosc - pojemnik1.zajete;
  46.         if(ilosc>wolne)
  47.         {
  48.         cout<<"Pojemnik 1 zostaĹ‚ zapeĹ‚niony"<<endl;
  49.         float zostalo= ilosc - wolne;      
  50.         throw zostalo;
  51.         }
  52.         else
  53.         pojemnik1.zajete=ilosc+pojemnik1.zajete;
  54.     }
  55.  
  56.     catch(float zostalo)
  57.     {
  58.         pojemnik2.zajete=pojemnik2.zajete+zostalo;
  59.         if(pojemnik2.zajete>pojemnik2.pojemnosc)
  60.         {
  61.             cout<<"Pojemnik 2 zostaĹ‚ zapeĹ‚niony"<<endl;
  62.            
  63.         }else
  64.         cout<<"Pojemnik 2 zostaĹ‚ zapeĹ‚niony w: "<<pojemnik2.zajete<<endl;
  65.     }
  66.  
  67.     try
  68.     {
  69.         float pozostalo = pojemnik2.zajete-pojemnik2.pojemnosc;
  70.         if(pozostalo>0)
  71.         {
  72.         throw pozostalo;
  73.         }
  74.     }
  75.     catch(float pozostalo)
  76.     {
  77.         cout<<"Wylane zostalo: "<<pozostalo<<endl;
  78.         pojemnik1.zajete=pojemnik1.pojemnosc;
  79.         pojemnik2.zajete=pojemnik2.pojemnosc;
  80.     }
  81.  
  82. }
  83.  
  84. double Bipojemnik::Odlej(int ilosc)
  85. {
  86.     try
  87.     {
  88.         if(ilosc>pojemnik1.zajete)
  89.         {
  90.             cout<<"Pojemnik 1 jest pusty "<<endl;
  91.             float zostalo = ilosc - pojemnik1.zajete;
  92.             throw zostalo;
  93.         }else if(ilosc==0)
  94.             {
  95.             return 0;
  96.             }
  97.         else if(ilosc<pojemnik1.zajete)
  98.             {
  99.             pojemnik1.zajete = pojemnik1.zajete - ilosc;
  100.             cout<<"W pojemniku 1 zostaĹ‚o: "<<pojemnik1.zajete;
  101.             }
  102.        
  103.     }
  104.  
  105.     catch(float zostalo)
  106.     {
  107.         pojemnik2.zajete = pojemnik2.zajete - zostalo;
  108.         if(pojemnik2.zajete>0)
  109.         {
  110.             cout<<"W Pojemniku 2 zostalo: "<<pojemnik2.zajete<<endl;
  111.            
  112.         }else
  113.         cout<<"Pojemnik 2 zostaĹ‚ pusty "<<endl;
  114.        
  115.     }
  116.  
  117.     try
  118.     {
  119.         float pozostalo = pojemnik2.zajete;
  120.         if(pozostalo<0)
  121.         {
  122.         throw pozostalo;
  123.         }
  124.     }
  125.     catch(float pozostalo)
  126.     {
  127.         cout<<"Oba pojemniki zostaly puste,a do wylania zostalo zostalo: "<<pozostalo*(-1)<<endl;;
  128.     }
  129.  
  130. }
  131. //////////////////////////////////////////////////////////////////////////////////////////
  132.  
  133. cw.h
  134.  
  135. #include <iostream>
  136.  
  137. using namespace std;
  138.  
  139. class Pojemnik
  140. {
  141.     public:
  142.    
  143.     string nazwa;
  144.     int jednostka;
  145.     double pojemnosc;
  146.     double zajete;
  147.  
  148.     Pojemnik(string,int,double,double);
  149.     Pojemnik();
  150.     double Dodaj(double dodane);
  151.     void Wypisz();
  152.     Pojemnik(Pojemnik &p);  // konstruktor
  153. };
  154.  
  155.  
  156. class Bipojemnik
  157. {
  158.     public:
  159.  
  160.     Pojemnik pojemnik1;
  161.     Pojemnik pojemnik2;
  162.  
  163.     Bipojemnik(Pojemnik POJEMNIK1, Pojemnik POJEMNIK2):pojemnik1(POJEMNIK1),pojemnik2(POJEMNIK2)
  164. {
  165.     cout<<"Bipojemnik skladajacy sie z dwoch pojemnikĂłw(nazwa,pojemnosc,jednostka,zajetosc): "<<endl
  166.     <<pojemnik1.nazwa<<", "
  167.     <<pojemnik1.pojemnosc<<", "
  168.     <<pojemnik1.jednostka<<", "
  169.     <<pojemnik1.zajete<<endl
  170.     <<pojemnik2.nazwa<<", "
  171.     <<pojemnik2.pojemnosc<<", "
  172.     <<pojemnik2.jednostka<<", "
  173.     <<pojemnik2.zajete<<endl;
  174. }
  175.  
  176.     double Dolej(int ilosc);
  177.     double Odlej(int ilosc);
  178. };
  179. //////////////////////////////////////////////////////////////////////////////////////////
  180.  
  181. main.cpp
  182. #include <iostream>
  183. #include "cw.cpp"
  184.  
  185. using namespace std;
  186.  
  187. int main()
  188. {
  189.  
  190.     Pojemnik p1("pojemnik1",1,3000,200);
  191. //  p1.Wypisz();   
  192.     //p1.Dodaj(100);
  193. //  p1.Wypisz();
  194.     Pojemnik p2("pojemnik2",1,1200,100);
  195. //  p2.Wypisz();
  196.     Bipojemnik bp(p1,p2);
  197.     bp.Dolej(10000);
  198.     bp.Odlej(0);
  199.    
  200.    
  201.    
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement