Advertisement
Guest User

pawel_gasiewski_lab_16_10_18r

a guest
Oct 16th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;
  5.  
  6. class Samolot{
  7. public:
  8.     Samolot (int r, int p);
  9.     Samolot(); 
  10.     void ustaw_rozmiar(int a);
  11.     void ustaw_paliwo(int b);
  12.     void disp_paliwo();
  13.     void disp_rozmiar();
  14.     void disp_dystans();
  15.     void dodaj_paliwo(int dod);
  16.     void oblicz_dystans();
  17.     int get_paliwo();
  18.     int get_rozmiar();
  19.     int get_dystans();
  20.     Samolot operator+(Samolot &a);
  21. private:
  22.     int rozmiar, dystans, paliwo;
  23.    
  24. };
  25.  
  26. Samolot::Samolot(){
  27.     rozmiar  = ((rand() % 10) + 1);
  28.     paliwo = ((rand() % 700) + 500);
  29.     dystans =  paliwo/rozmiar;
  30.     cout << "jestem konstruktorem bez argumentow";
  31. }
  32. Samolot::Samolot(int r, int p){
  33.     rozmiar = r;
  34.     paliwo = p;
  35.     if (rozmiar == 0) dystans = 0;
  36.     else dystans = paliwo/rozmiar;
  37.     cout << "jestem konstruktorem z argumentami";
  38. }
  39.  
  40. void Samolot::ustaw_rozmiar(int a){
  41.     rozmiar = a;
  42. }
  43.  
  44. void Samolot::ustaw_paliwo(int b){
  45.     paliwo = b;
  46. }
  47.  
  48. void Samolot::disp_paliwo(){
  49.     cout << "Paliwo wynosi : " << paliwo;
  50.    
  51. }
  52.  
  53. void Samolot::disp_rozmiar(){
  54.     cout << "Rozmiar wynosi : " << rozmiar;
  55.    
  56. }
  57.  
  58. void Samolot::disp_dystans(){
  59.     cout << "Dystans wynosi : " << dystans;
  60.    
  61. }
  62.  
  63. void Samolot::dodaj_paliwo(int dod){
  64.     paliwo += dod;
  65.     oblicz_dystans(); //this. czyli dla jednego konkretnego obiektu dla ktorego wywoluje funkcje
  66.    
  67. }
  68.  
  69. void Samolot::oblicz_dystans(){
  70.     dystans = paliwo/rozmiar;
  71. }
  72.  
  73. int Samolot::get_paliwo(){
  74.     return paliwo;
  75. }
  76. int Samolot::get_rozmiar(){
  77.     return rozmiar;
  78. }
  79. int Samolot::get_dystans(){
  80.     return dystans;
  81. }
  82.  
  83.  
  84. Samolot Samolot::operator+ (Samolot &a){
  85.     return Samolot(paliwo + a.get_paliwo(), (rozmiar + a.get_rozmiar())/2);
  86. }
  87.  
  88. int main()
  89. {
  90.     Samolot samolot_1=Samolot();
  91.     Samolot samolot_2=Samolot(5,900);
  92.     Samolot *wskaznik_1 = &samolot_1;
  93.     Samolot *wskaznik_2 = &samolot_2;
  94.     cout << "Dane na temat pierwszego samolotu : ";
  95.     cout << "Rozmiar : "; samolot_1.disp_rozmiar();
  96.     cout << "Paliwo : "; samolot_1.disp_paliwo();
  97.     cout << "Dystans : "; samolot_1.disp_dystans();
  98.     cout << endl;
  99.     cout << "Dane na temat drugiego samolotu : ";
  100.     cout << "Rozmiar : "; samolot_2.disp_rozmiar();
  101.     cout << "Paliwo : "; samolot_2.disp_paliwo();
  102.     cout << "Dystans : "; samolot_2.disp_dystans();
  103.     cout << endl;
  104.     cout << "Dodajemy 100 jednostek paliwa do samolotu pierwszego /n";
  105.     samolot_1.dodaj_paliwo(100);
  106.     cout << "Paliwo po dodaniu : "; wskaznik_1->disp_paliwo();
  107.     cout << "Dystans po dodaniu paliwa : "; wskaznik_1->disp_dystans();
  108.     Samolot samolot_3=Samolot(0,0);
  109.     Samolot *wskaznik_3 = &samolot_3;
  110.     samolot_3 = samolot_1 + samolot_2;
  111.     cout << "Dane na temat drugiego samolotu : ";
  112.     cout << "Rozmiar : "; wskaznik_3->disp_rozmiar();
  113.     cout << "Paliwo : " ; wskaznik_3->disp_paliwo();
  114.     cout << "Dystans : "; wskaznik_3->disp_dystans();
  115.     Samolot *samolot_4 = new Samolot();
  116.     cout << "Rozmiar : "; samolot_4->disp_rozmiar();
  117.     cout << "Paliwo : "; samolot_4->disp_paliwo();
  118.     cout << "Dystans : "; samolot_4->disp_dystans();
  119.     *samolot_4 = *samolot_4 + samolot_3;
  120.     cout << "Rozmiar : "; samolot_4->disp_rozmiar();
  121.     cout << "Paliwo : "; samolot_4->disp_paliwo();
  122.     cout << "Dystans : "; samolot_4->disp_dystans();
  123.     return 0;
  124. }
  125.  
  126. //komenda kompilacji - g++ -Wall -pedantic nazwa_pliku.cpp
  127. //komenda wywolania - ./a.out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement