Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Классная дозаправка в космосе*/
- /*
- День 16.
- Старший кадет %username%, поздравляем с повышением, новая форма вам к лицу!
- Перелеты в космосе расходуют много топлива, поэтому сегодняшняя симуляция будет посвящена подлету к космической станции, стыковке и дозаправке вашего корабля. К сожалению, строительство станций процесс дорогостоящий, поэтому Конфедерация смогла построить целую одну станцию в вашем секторе! Ваша задача - запрограммировать И.С.А.А.К. на:
- * ввод исходных данных корабля
- * ввод данных о станции
- * стыковку и дозаправку
- * полный отчет
- Гарантируется, что вам хватит топлива для выполнения миссии. Удачи в вашей миссии старший кадет!
- */
- /*
- Формат входных данных:
- string (название станции) int (расстояние до станции)
- string (название корабля) int (текущее количество топлива) int (максимум топлива)
- */
- /*
- Формат выходных данных:
- string (Ship Victoria filled 19 tn fuel on station Omicron-1)
- string (47 fuel left from 66 at the ship Victoria)
- */
- #include <iostream>
- #include <string>
- using namespace std;
- class SpaceShip {
- public:
- // Остаток топлива
- int fuelLeft;
- // Вместимость топливного бака (максимум топлива)
- int fuelMax;
- //Название корабля
- string name;
- void printStatus() {
- cout << fuelLeft << " fuel left from " << fuelMax << " at the ship " << name << endl;
- }
- void flight(int distance) {
- fuelLeft -= distance;
- if (fuelLeft < 0) fuelLeft = 0;
- }
- void prepare() {
- cin >> name >> fuelLeft >> fuelMax;
- }
- };
- class SpaceStation {
- public:
- // Название станции
- string name;
- // Расстояние до станции
- int dist;
- void prepare() {
- cin >> name >> dist;
- }
- // Заправить корабль топливом
- void fillupShip(SpaceShip &ship) {
- int fillCount = ship.fuelMax - ship.fuelLeft;
- ship.fuelLeft = ship.fuelMax;
- cout << "Ship " << ship.name << " filled " << fillCount << " tn fuel on station " << name << endl;
- }
- };
- int main() {
- SpaceShip space_ship;
- SpaceStation space_station;
- space_station.prepare();
- space_ship.prepare();
- space_ship.flight(space_station.dist);
- space_station.fillupShip(space_ship);
- space_ship.printStatus();
- return 0;
- }
- /*
- Тест1
- Ввод:
- Omicron-1 28
- Victoria 29 47
- Вывод:
- Ship Victoria filled 46 tn fuel on station Omicron-1
- 47 fuel left at the ship Victoria
- Тест2
- Ввод:
- Babylon-5 34
- Enterprise 68 112
- Вывод:
- Ship Enterprise filed 78 tn fuel on station Babylon-5
- 112 fuel left at the ship Enterprise
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement