MeehoweCK

Untitled

Aug 26th, 2019
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.42 KB | None | 0 0
  1. // main.cpp:
  2. #include <iostream>
  3. #include "wymierne.h"
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     Wymierne liczba;                    // wywołanie konstruktora domyślnego
  10.     //liczba.set_licznik(5);
  11.     //liczba.set_mianownik(7);
  12.     cout << liczba.wartosc() << endl;
  13.     Wymierne piatka(5);                 // wywołanie konstruktora nr 2
  14.     cout << piatka.wartosc() << endl;
  15.     Wymierne trzypiate(3, 5);        // wywołanie konstruktora nr 3
  16.     cout << trzypiate.wartosc() << endl;
  17.     Wymierne jednatrzecia(1, 3);
  18.     Wymierne il = iloczyn(trzypiate, jednatrzecia);
  19.     cout << il.wartosc() << endl;
  20.     il = suma(trzypiate, jednatrzecia);
  21.     cout << il.wartosc() << endl;
  22.     return 0;
  23. }
  24.  
  25. // wymierne.h:
  26. class Wymierne
  27. {
  28.     friend Wymierne iloczyn(Wymierne, Wymierne);
  29.     friend Wymierne suma(Wymierne, Wymierne);
  30.     int licznik;
  31.     int mianownik;
  32. public:
  33.     Wymierne();
  34.     Wymierne(int);
  35.     Wymierne(int, int);
  36.     void set_licznik(int);
  37.     void set_mianownik(int);
  38.     double wartosc();
  39.     int get_licznik();
  40.     int get_mianownik();
  41. };
  42.  
  43. // wymierne.cpp:
  44. #include "wymierne.h"
  45.  
  46. /*class Wymierne
  47. {
  48.     friend Wymierne iloczyn(Wymierne, Wymierne);
  49.     friend Wymierne suma(Wymierne, Wymierne);
  50.     int licznik;
  51.     int mianownik;
  52. public:
  53.     Wymierne();
  54.     Wymierne(int);
  55.     Wymierne(int, int);
  56.     void set_licznik(int);
  57.     void set_mianownik(int);
  58.     double wartosc();
  59.     int get_licznik();
  60.     int get_mianownik();
  61. };*/
  62.  
  63. Wymierne::Wymierne() : licznik(0), mianownik(1)
  64. {
  65. }
  66.  
  67. Wymierne::Wymierne(int liczba) : licznik(liczba), mianownik(1)          // konstruktor nr 2
  68. {
  69. }
  70.  
  71. Wymierne::Wymierne(int l, int m) : licznik(l), mianownik(m)        // konstruktor nr 3
  72. {
  73. }
  74.  
  75. void Wymierne::set_licznik(int l)
  76. {
  77.     licznik = l;
  78. }
  79.  
  80. void Wymierne::set_mianownik(int m)
  81. {
  82.     mianownik = m;
  83. }
  84.  
  85. double Wymierne::wartosc()
  86. {
  87.     return 1.0 * licznik / mianownik;
  88. }
  89.  
  90. int Wymierne::get_licznik()
  91. {
  92.     return licznik;
  93. }
  94.  
  95. int Wymierne::get_mianownik()
  96. {
  97.     return mianownik;
  98. }
  99.  
  100. Wymierne iloczyn(Wymierne a, Wymierne b)
  101. {
  102.     Wymierne wynik;
  103.     wynik.licznik = (a.licznik * b.licznik);
  104.     wynik.mianownik = (a.mianownik * b.mianownik);
  105.     return wynik;
  106. }
  107.  
  108. Wymierne suma(Wymierne a, Wymierne b)
  109. {
  110.     Wymierne wynik;
  111.     wynik.licznik = a.licznik * b.mianownik + a.mianownik * b.licznik;
  112.     wynik.mianownik = a.mianownik * b.mianownik;
  113.     return wynik;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment