Advertisement
DearOohDeer

Pola Figur Obiektowo

May 20th, 2021
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4.  
  5. bool Incjalizacja()
  6. {
  7.     cout << "\nInicjalizacja programu";
  8.     return true;
  9. }
  10. bool Czy_Ujemna(float Liczba)
  11. {
  12.     if (Liczba >= 0) {
  13.         return false;
  14.     } else {
  15.         cout << "Program nie przyjmuje liczb ujemnych prosze wpisac liczbe dodatnia." << endl;
  16.         return true;
  17.     }
  18. }
  19. float Wprowadzenie_Cyfry()
  20. {
  21.     float Liczba;
  22.     do{
  23.         cin >> Liczba;
  24.     }while (Czy_Ujemna(Liczba));//Petla wykonywana bedzie do puki jest to liczba ujemna.
  25.     return Liczba;
  26. }
  27.  
  28. void Czekaj_Na_Enter( const char Napis[] )
  29. {
  30.     cout << endl << Napis;
  31.     cin.get();
  32. }
  33.  
  34. void Czekaj_Na_Enter_Czysc_Bufor( const char Napis[] )
  35. {
  36.     cin.ignore();
  37.     Czekaj_Na_Enter( Napis );
  38. }
  39.  
  40. void Pokaz_Menu()
  41. {
  42.     cout << "\nWybierz opcje: ";
  43.     cout << "\n1. Pole Kwadratu\n2. Pole Prostokatu\n3. Pole Kola\n4. Pole Trojkata\n5. Pole Trapezu\n6. Koniec\n>> ";
  44. }
  45.  
  46. class Kwadrat
  47. {
  48. public:
  49.     float Oblicz_Pole();
  50.     void Wyswietl_Pole();
  51.     void Zrob_Wszystko();
  52.  
  53. private:
  54.     float DL_Boku;
  55.     float Pole;
  56. };
  57.  
  58. float Kwadrat::Oblicz_Pole()
  59. {
  60.     cout << "Podaj bok kwadratu" << endl;
  61.     DL_Boku =  Wprowadzenie_Cyfry();
  62.     return Pole = DL_Boku*DL_Boku;
  63. }
  64. void Kwadrat::Wyswietl_Pole()
  65. {
  66.     cout <<"Pole Wynosi: "<< Pole<<endl;
  67.     Czekaj_Na_Enter_Czysc_Bufor( "Enter by kontynuowac..." );
  68. }
  69. void Kwadrat::Zrob_Wszystko()
  70. {
  71.     Oblicz_Pole();
  72.     Wyswietl_Pole();
  73. }
  74.  
  75. class Prostokat
  76. {
  77. public:
  78.     float Oblicz_Pole();
  79.     void Wyswietl_Pole();
  80.     void Zrob_Wszystko();
  81. private:
  82.     float a;
  83.     float b;
  84.     float Pole;
  85. };
  86. float Prostokat::Oblicz_Pole()
  87. {
  88.     cout << "Podaj pierwszy bok prostokat" << endl;
  89.     a =  Wprowadzenie_Cyfry();
  90.     cout << "Podaj drugi bok prostokat" << endl;
  91.     b =  Wprowadzenie_Cyfry();
  92.     return Pole = a*b;
  93. }
  94. void Prostokat::Wyswietl_Pole()
  95. {
  96.     cout <<"Pole Wynosi: "<< Pole<<endl;
  97.     Czekaj_Na_Enter_Czysc_Bufor( "Enter by kontynuowac..." );
  98. }
  99. void Prostokat::Zrob_Wszystko()
  100. {
  101.     Oblicz_Pole();
  102.     Wyswietl_Pole();
  103. }
  104.  
  105. class Kolo
  106. {
  107. public:
  108.     float Oblicz_Pole();
  109.     void Wyswietl_Pole();
  110.     void Zrob_Wszystko();
  111. private:
  112.     float a;
  113.     float pi  = 3.14;
  114.     float Pole;
  115. };
  116. float Kolo::Oblicz_Pole()
  117. {
  118.     cout << "Podaj r: ";
  119.     a =  Wprowadzenie_Cyfry();
  120.     return Pole = a*pi;
  121. }
  122. void Kolo::Wyswietl_Pole()
  123. {
  124.     cout <<"Pole Wynosi: "<< Pole<<endl;
  125.     Czekaj_Na_Enter_Czysc_Bufor( "Enter by kontynuowac..." );
  126. }
  127. void Kolo::Zrob_Wszystko()
  128. {
  129.     Oblicz_Pole();
  130.     Wyswietl_Pole();
  131. }
  132.  
  133. class Trojkat
  134. {
  135. public:
  136.     float Oblicz_Pole();
  137.     void Wyswietl_Pole();
  138.     void Zrob_Wszystko();
  139. private:
  140.     float a;
  141.     float h;
  142.     float Pole;
  143. };
  144. float Trojkat::Oblicz_Pole()
  145. {
  146.     cout << "Podaj a: ";
  147.     a =  Wprowadzenie_Cyfry();
  148.     cout << "Podaj h: ";
  149.     h =  Wprowadzenie_Cyfry();
  150.     return Pole = (a*h)/2;
  151. }
  152. void Trojkat::Wyswietl_Pole()
  153. {
  154.     cout <<"Pole Wynosi: "<< Pole<<endl;
  155.     Czekaj_Na_Enter_Czysc_Bufor( "Enter by kontynuowac..." );
  156. }
  157. void Trojkat::Zrob_Wszystko()
  158. {
  159.     Oblicz_Pole();
  160.     Wyswietl_Pole();
  161. }
  162.  
  163. class Trapez
  164. {
  165. public:
  166.     float Oblicz_Pole();
  167.     void Wyswietl_Pole();
  168.     void Zrob_Wszystko();
  169. private:
  170.     float a;
  171.     float b;
  172.     float h;
  173.     float Pole;
  174. };
  175. float Trapez::Oblicz_Pole()
  176. {
  177.     cout << "Podaj a: ";
  178.     a =  Wprowadzenie_Cyfry();
  179.     cout << "Podaj b: ";
  180.     a =  Wprowadzenie_Cyfry();
  181.     cout << "Podaj h: ";
  182.     h =  Wprowadzenie_Cyfry();
  183.     return Pole = (a+b)*h/2;
  184. }
  185. void Trapez::Wyswietl_Pole()
  186. {
  187.     cout <<"Pole Wynosi: "<< Pole<<endl;
  188.     Czekaj_Na_Enter_Czysc_Bufor( "Enter by kontynuowac..." );
  189. }
  190. void Trapez::Zrob_Wszystko()
  191. {
  192.     Oblicz_Pole();
  193.     Wyswietl_Pole();
  194. }
  195.  
  196.  
  197. void Wykonanie()
  198. {
  199.     char znak;
  200.     //const char ZNAK_WYJSCIA = '6';
  201.     do
  202.     {
  203.         Pokaz_Menu();
  204.         cin >> znak;
  205.         switch( znak )
  206.         {
  207.             case '1' : {
  208.                 Kwadrat Kwadracik;
  209.                 Kwadracik.Zrob_Wszystko();
  210.                 break;
  211.             }
  212.             case '2' : {
  213.                 Prostokat Prostokacik;
  214.                 Prostokacik.Zrob_Wszystko();
  215.                 break;
  216.             }
  217.             case '3' : {
  218.                 Kolo Koleczko;
  219.                 Koleczko.Zrob_Wszystko();
  220.                 break;
  221.             }
  222.             case '4' : {
  223.                 Trojkat Trojkacik;
  224.                 Trojkacik.Zrob_Wszystko();
  225.                 break;
  226.             }
  227.             case '5' : {
  228.                 Trapez Trapezik;
  229.                 Trapezik.Zrob_Wszystko();
  230.                 break;
  231.             }
  232.             case '6' : {
  233.                 Czekaj_Na_Enter_Czysc_Bufor("Nacisnij Enter by zakonczyc programu");
  234.                 break;
  235.             }
  236.             default: {
  237.                 cout << "Nie wybrano zadnej z mozliwych opcji.Prosze sprobowac ponownie.";
  238.                 break;
  239.             }
  240.         }
  241.     }
  242.     while( znak != '6' );
  243. }
  244. /*
  245. void Zakonczenie()
  246. {
  247.     Czekaj_Na_Enter_Czysc_Bufor( "Nacisnij Enter by zakonczyc programu" );
  248. }
  249. */
  250.  
  251. int main()
  252. {
  253.     if( Incjalizacja() )
  254.     {
  255.         Wykonanie();
  256.         //Zakonczenie();
  257.     }
  258.     return EXIT_SUCCESS;
  259. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement