Advertisement
RemigiuszP

pieniadze zad1

Nov 18th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.57 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. class Pieniadze
  7. {
  8. public:
  9.     int grosze;
  10.     int zlotowki;
  11.     double d_grosze;
  12.  
  13.     Pieniadze(int my_grosze = 0, int my_zlotowki = 0)
  14.     {
  15.         SetGrosze(my_grosze);
  16.         SetZlotowki(my_zlotowki);
  17.     }
  18.  
  19.     void SetGrosze(int my_grosze)
  20.     {
  21.         grosze = my_grosze;
  22.     }
  23.  
  24.     void SetZlotowki(int my_zlotowki)
  25.     {
  26.         zlotowki = my_zlotowki;
  27.     }
  28.  
  29.     int GetGrosze()
  30.     {
  31.         return grosze;
  32.     }
  33.  
  34.     int GetZlotowki()
  35.     {
  36.         return zlotowki;
  37.     }
  38.  
  39.     Pieniadze operator+(Pieniadze p)
  40.     {
  41.         grosze += 100 * zlotowki;
  42.         zlotowki = 0;
  43.         p.grosze += 100 * p.zlotowki;
  44.         p.zlotowki = 0;
  45.         return Pieniadze(grosze + p.grosze);
  46.     }
  47.  
  48.     Pieniadze operator-(Pieniadze p)
  49.     {
  50.         grosze += 100 * zlotowki;
  51.         zlotowki = 0;
  52.         p.grosze += 100 * p.zlotowki;
  53.         p.zlotowki = 0;
  54.         return Pieniadze(grosze - p.grosze);
  55.     }
  56.  
  57.     Pieniadze operator*(int liczba)
  58.     {
  59.         grosze += 100 * zlotowki;
  60.         zlotowki = 0;
  61.         return Pieniadze(grosze * liczba);
  62.  
  63.     }
  64.  
  65.     Pieniadze operator/(int liczba)
  66.     {
  67.         double wynik;
  68.         grosze += 100 * zlotowki;
  69.         zlotowki = 0;
  70.         wynik = (double)grosze / (double)liczba;
  71.         return wynik;
  72.     }
  73.  
  74.  
  75.  
  76.  
  77.     void Normalizuj()
  78.     {
  79.         if(grosze >= 100)
  80.         {
  81.             zlotowki += grosze / 100;
  82.             grosze %= 100;
  83.         }
  84.     }
  85.  
  86.     void Normalizuj(Pieniadze p)
  87.     {
  88.         if(p.grosze >= 100)
  89.         {
  90.             p.zlotowki += p.grosze / 100;
  91.             p.grosze %= 100;
  92.         }
  93.     }
  94.  
  95.     void Drukuj()
  96.     {
  97.         Normalizuj();
  98.  
  99.         cout << GetZlotowki() << " zl " << GetGrosze() << " gr\n";
  100.  
  101.     }
  102.  
  103.     friend ostream & operator << (ostream & wyjscie, Pieniadze s)
  104.     {
  105.  
  106.         return wyjscie << s.zlotowki << " zl " << s.grosze << " gr\n";
  107.     }
  108.  
  109.  
  110.     ~Pieniadze() {}
  111.  
  112. };
  113.  
  114. Pieniadze operator+(const int & liczba, Pieniadze & p)
  115. {
  116.     p.grosze += p.zlotowki * 100 + liczba * 100;
  117.     p.zlotowki = 0;
  118.     return Pieniadze(p.grosze);
  119. }
  120.  
  121. Pieniadze operator-(const int & liczba, Pieniadze & p)
  122. {
  123.     p.grosze += p.zlotowki * 100;
  124.     p.zlotowki = 0;
  125.     return Pieniadze(p.grosze - 100 * liczba);
  126. }
  127.  
  128. int main()
  129. {
  130.     Pieniadze tysiac = Pieniadze(1000);
  131.     Pieniadze kwota;
  132.     kwota.SetGrosze(700);
  133.     Pieniadze suma1 = tysiac + kwota;
  134.     Pieniadze suma2 = tysiac + 20;
  135.     Pieniadze suma3 = 20 + tysiac;
  136.  
  137.     cout << suma3;
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.     return 0;
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement