Ifrail

Таsk 3

Nov 13th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.02 KB | None | 0 0
  1. /*Первые полеты*/
  2.  
  3. /*
  4. День 7.
  5. Кадет %username%, вы показываете прекрасные результаты, поэтому для этой миссии вам выдали не один голографический корабль, а целых два! Ваша задача научить И.С.А.А.К. пилотировать корабли, чтобы эти груды пикселей могли долетать до места назначения! Кстати место назначение сегодня только одно. Если топлива не хватит, то ничего страшного, мы выдадим вам новый голографический корабль для симуляции. Главное, что бы И.С.А.А.К. не показывал отрицательных значений топлива, так как такого даже в симуляции не бывает. Управитесь за 9 дней и мы присвоим вам звание Старшего кадета.
  6.  
  7. Дополните класс SpaceShip новым методом flight, который позволит вашим кораблям летать. За 1 пройденный парсек корабль расходует 1 единицу топлива.
  8. */
  9.  
  10. /*
  11. Формат входных данных:
  12. string (название 1 корабля) int (текущее количество топлива) int (максимум топлива)
  13. string (название 2 корабля) int (текущее количество топлива) int (максимум топлива)
  14. int (расстояние для полета в парсеках)
  15.  
  16. */
  17.  
  18. /*
  19. Формат выходных данных:
  20. string (47 fuel left from 66 at the ship Victoria)
  21. */
  22.  
  23. #include <iostream>
  24. #include <string>
  25.  
  26. using namespace std;
  27.  
  28. class SpaceShip {
  29. public:
  30.     // Топлива осталось
  31.     int fuelLeft;
  32.     // Вместимость топливного бака (максимум топлива)
  33.     int fuelMax;
  34.     //Название корабля
  35.     string name;
  36.  
  37.     void printStatus() {
  38.         cout << fuelLeft << " fuel left from " << fuelMax << " at the ship " << name << endl;
  39.     }
  40.        
  41.     void flight(int distance) {
  42.         fuelLeft -= distance;
  43.         if (fuelLeft < 0) fuelLeft = 0;
  44.     }
  45.     void prepare() {
  46.         cin >> name >> fuelLeft >> fuelMax;
  47.     }
  48. };
  49.  
  50. int main() {
  51.     SpaceShip space_ship1, space_ship2;
  52.    
  53.     space_ship1.prepare();
  54.     space_ship2.prepare();
  55.  
  56.     int dist;
  57.     cin >> dist;
  58.     space_ship1.flight(dist);
  59.     space_ship2.flight(dist);
  60.  
  61.     space_ship1.printStatus();
  62.     space_ship2.printStatus();
  63.  
  64.     return 0;
  65. }
  66.  
  67. /*
  68. Тест1
  69. Ввод:
  70. Victoria 34 34
  71. Enterprise 90 112
  72. 43
  73. Вывод:
  74. 0 fuel left from 34 at the ship Victoria
  75. 47 fuel left from 112 at the ship Enterprise
  76.  
  77. Тест2
  78. Ввод:
  79. Nostromo 6 22
  80. Apollo-13 5 9
  81. 5
  82. Вывод:
  83. 1 fuel left from 22 at the ship Victoria
  84. 0 fuel left from 9 at the ship Apollo-13
  85. */
Add Comment
Please, Sign In to add comment