Advertisement
pieniakoskar

Samolot

Mar 19th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <conio.h>
  4.  
  5. #include "CSamolot.h"
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9. char x;
  10. int iPasazer = 0;
  11. double dPaliwo = 0.0;
  12. CSamolot S1(13825, 24500, 5000, 180);
  13.  
  14. while(1)
  15. {
  16. system("CLS");
  17. S1.PokazSamolot();
  18. std::cout << "\nCo chcesz zrobic:\n"
  19. << " 1. Zmien liczbe pasazerow\n"
  20. << " 2. Zmien ilosc paliwa\n"
  21. << " 3. Zakoncz program\n";
  22. x = _getch();
  23.  
  24. switch(x)
  25. {
  26. case '1':
  27. std::cout << "Podaj liczbe pasazerow do dodania (lub poprzedz znakiem '-' aby odjac: ";
  28. std::cin >> iPasazer;
  29. S1.SetIloscPasazerow(iPasazer);
  30. while(S1.GetMasaCalkowita() > S1.GetMasaMax())
  31. {
  32. if(S1.GetIloscPaliwa() != 0)
  33. {
  34. while(S1.GetMasaCalkowita() > S1.GetMasaMax())
  35. {
  36. if(S1.GetIloscPaliwa() == 0) break;
  37. S1.SetIloscPaliwa(-1);;
  38. }
  39. }
  40. else
  41. {
  42. while(S1.GetMasaCalkowita() > S1.GetMasaMax())
  43. {
  44. if(S1.GetIloscPasazerow() == 0) break;
  45. S1.SetIloscPasazerow(-1);
  46. }
  47. }
  48. }
  49.  
  50. break;
  51.  
  52. case '2':
  53. std::cout << "Podaj liczbe litrow ktore chcesz dolac (lub poprzedz znakiem '-' aby spuscic: ";
  54. std::cin >> dPaliwo;
  55. S1.SetIloscPaliwa(dPaliwo);
  56. while(S1.GetMasaCalkowita() > S1.GetMasaMax())
  57. {
  58. if(S1.GetIloscPasazerow() != 0)
  59. {
  60. while(S1.GetMasaCalkowita() > S1.GetMasaMax())
  61. {
  62. if(S1.GetIloscPasazerow() == 0) break;
  63. S1.SetIloscPasazerow(-1);
  64. }
  65. }
  66. else
  67. {
  68. while(S1.GetMasaCalkowita() > S1.GetMasaMax())
  69. {
  70. if(S1.GetIloscPaliwa() == 0) break;
  71. S1.SetIloscPaliwa(-1);
  72. }
  73. }
  74. }
  75. break;
  76.  
  77. case '3':
  78. return 0;
  79. }
  80. }
  81. }
  82.  
  83.  
  84. CSamolot.cpp
  85.  
  86. #include "CSamolot.h"
  87. #include <iostream>
  88.  
  89. #define PASAZER 80 //[kg]
  90. #define LITR 0.5 //[kg]
  91.  
  92. CSamolot::CSamolot():
  93. _masaWlasna(0),
  94. _masaMax(0),
  95. _iloscPaliwa(0),
  96. _iloscPaliwaMax(0),
  97. _iloscPasazerow(0),
  98. _iloscPasazerowMax(0)
  99. {};
  100.  
  101. CSamolot::CSamolot(double MasaWlasna, double MasaMax, double IloscPaliwaMax, int IloscPasazerowMax):
  102. _masaWlasna(MasaWlasna),
  103. _masaMax(MasaMax),
  104. _iloscPaliwa(0),
  105. _iloscPaliwaMax(IloscPaliwaMax),
  106. _iloscPasazerow(0),
  107. _iloscPasazerowMax(IloscPasazerowMax)
  108. {};
  109.  
  110. double CSamolot::GetMasaCalkowita()
  111. {
  112. return _masaWlasna + _iloscPasazerow*PASAZER + _iloscPaliwa*LITR;
  113. }
  114.  
  115. void CSamolot::SetIloscPaliwa(double Paliwo)
  116. {
  117. if((Paliwo + _iloscPaliwa) > _iloscPaliwaMax) _iloscPaliwa = _iloscPaliwaMax;
  118. else if((Paliwo + _iloscPaliwa) < 0) _iloscPaliwa = 0;
  119. else _iloscPaliwa += Paliwo;
  120. }
  121.  
  122. void CSamolot::SetIloscPasazerow(int Pasazerowie)
  123. {
  124. if((Pasazerowie + _iloscPasazerow) > _iloscPasazerowMax) _iloscPasazerow = _iloscPasazerowMax;
  125. else if((Pasazerowie + _iloscPasazerow) < 0) _iloscPasazerow = 0;
  126. else _iloscPasazerow += Pasazerowie;
  127. }
  128.  
  129. void CSamolot::PokazSamolot()
  130. {
  131. std::cout << "Parametry samolotu: \n"
  132. << " Masa wlasna samolotu: " << _masaWlasna << " [kg]\n"
  133. << " Maksymalny udzwig: " << _masaMax << " [kg]\n"
  134. << " Pojemnosc zbiornikow: " << _iloscPaliwaMax << " [l]\n"
  135. << " Ilosc foteli: " << _iloscPasazerowMax << " [szt.]\n"
  136. << "\nParametry aktualne: \n"
  137. << " Ilosc Paliwa: " << _iloscPaliwa << " [l]\n"
  138. << " Liczba Pasazerow: " << _iloscPasazerow << " [szt.]\n"
  139. << " Calkowita waga: " << GetMasaCalkowita() << " [kg]\n";
  140. }
  141.  
  142. CSamolot.h
  143.  
  144. #ifndef C_CSamolot_h
  145. #define C_CSamolot_h
  146.  
  147. class CSamolot
  148. {
  149. double _masaWlasna;
  150. double _masaMax;
  151. double _iloscPaliwa;
  152. double _iloscPaliwaMax;
  153. int _iloscPasazerow;
  154. int _iloscPasazerowMax;
  155.  
  156. public:
  157. CSamolot();
  158. CSamolot(double MasaWlasna, double MasaMax, double IloscPaliwaMax, int IloscPasazerowMax);
  159. double GetMasaWlasna() const { return _masaWlasna; }
  160. double GetMasaMax() const { return _masaMax; }
  161. double GetIloscPaliwa() const { return _iloscPaliwa; }
  162. double GetIloscPaliwaMax() const { return _iloscPaliwaMax; }
  163. int GetIloscPasazerow() const { return _iloscPasazerow; }
  164. int GetIloscPasazerowMax() const { return _iloscPasazerowMax; }
  165. void SetIloscPaliwa(double Paliwo);
  166. void SetIloscPasazerow(int Pasazerowie);
  167. double GetMasaCalkowita();
  168. void PokazSamolot();
  169. };
  170.  
  171. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement