Advertisement
MeehoweCK

Untitled

Nov 4th, 2020
1,928
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int nwd(int a, int b)
  6. {
  7.     if(a < 0) a = -a;
  8.     if(b < 0) b = -b;
  9.  
  10.     while(a != b)
  11.     {
  12.         if(a > b)
  13.             a -= b;
  14.         if(b > a)
  15.             b -= a;
  16.     }
  17.     return a;
  18. }
  19.  
  20. class Wymierna
  21. {
  22.     // pola prywatne:
  23.     int licznik;
  24.     int mianownik;
  25. public:     // metody publiczne
  26.     Wymierna();     // konstruktor - metoda tworząca obiekt
  27.     Wymierna(int);
  28.     Wymierna(int, int);
  29.     void set_licznik(int);
  30.     void set_mianownik(int);
  31.     int get_licznik();
  32.     int get_mianownik();
  33.     void wypisz();
  34.     double get_wartosc();
  35. };
  36.  
  37. Wymierna::Wymierna()
  38. {
  39.     // konstruktor wypełnia pola prywatne jakimiś początkowymi wartościami:
  40.     licznik = 0;
  41.     mianownik = 1;
  42. }
  43.  
  44. Wymierna::Wymierna(int liczba)
  45. {
  46.     licznik = liczba;
  47.     mianownik = 1;
  48. }
  49.  
  50. Wymierna::Wymierna(int l, int m)
  51. {
  52.     int x = nwd(l, m);
  53.     licznik = l/x;
  54.     mianownik = m/x;
  55. }
  56.  
  57. void Wymierna::set_licznik(int l)
  58. {
  59.     licznik = l;
  60. }
  61.  
  62. void Wymierna::set_mianownik(int m)
  63. {
  64.     if(m == 0)
  65.     {
  66.         cout << "Nie mozna przypisac mianownikowi wartosci 0\n";
  67.         return;
  68.     }
  69.     mianownik = m;
  70. }
  71.  
  72. int Wymierna::get_licznik()
  73. {
  74.     return licznik;
  75. }
  76.  
  77. int Wymierna::get_mianownik()
  78. {
  79.     return mianownik;
  80. }
  81.  
  82. void Wymierna::wypisz()
  83. {
  84.     cout << licznik << '/' << mianownik << endl;
  85. }
  86.  
  87. double Wymierna::get_wartosc()
  88. {
  89.     return 1.0 * licznik / mianownik;
  90. }
  91.  
  92. int main()
  93. {
  94.     Wymierna liczba(2, 10);
  95.     liczba.wypisz();
  96.     cout << liczba.get_wartosc() << endl;
  97.  
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement