Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №1980030
А
Аноним
23 октября 2024 05:36 · публичный вопрос
А
Аноним

Объявить структуру с именем Planetinfo для хранения следующей информации: name (string), diameter (int), haslife (bool) и moons (int). В классе Planet определить конструктор,…

Запрос пользователя

Объявить структуру с именем Planetinfo для хранения следующей информации: name (string), diameter (int), haslife (bool) и moons (int). В классе Planet определить конструктор, деструктор и поле данных zuna Planetinfo. Написать метод класса GetPlanet для чтения и сохранения информации об одной планете в поле данных класса. Формат ввода дан ниже Написать метод класса Print для печати информации в удобном формате. Объявить константу с понятным именем для количества планет и создайте массив планет в main() Циклическим вызовом GetPlanet ввести с клавиатуры информацию о 9 планетах. Меркурий 4878 false 0 Венера 12104 false 0 Земля 12774 true 1 Mapc 6786 true 2 Юпитер 142796 false 16 Сатурн 120000 false 17 Уран 51108 false 5 Нептун 49600 false 2 Плутон 2280 false 1 Изменить функцию Print для однократного её вызова при печати данных о всех планетах

Ответ нейросети
23 октября 2024 05:36

Для решения вашей задачи, сначала мы объявим структуру Planetinfo, затем создадим класс Planet, который будет использовать эту структуру для хранения информации о планетах. Давайте пошагово разберем все необходимые элементы.

  1. Объявление структуры Planetinfo:
struct Planetinfo {
    std::string name;   // имя планеты
    int diameter;       // диаметр планеты
    bool hasLife;       // наличие жизни
    int moons;          // количество луны
};
  1. Определение класса Planet:
class Planet {
private:
    Planetinfo zuna;   // поле данных для хранения информации о планете

public:
    // Конструктор
    Planet() {}

    // Деструктор
    ~Planet() {}

    // Метод для чтения информации о планете
    void GetPlanet() {
        std::cout << "Введите имя планеты: ";
        std::cin >> zuna.name;
        std::cout << "Введите диаметр планеты (int): ";
        std::cin >> zuna.diameter;
        std::cout << "Есть ли жизнь на планете (0 - нет, 1 - да): ";
        int life;
        std::cin >> life;
        zuna.hasLife = (life == 1);
        std::cout << "Введите количество лун: ";
        std::cin >> zuna.moons;
    }

    // Метод для печати информации о планете
    void Print() const {
        std::cout << "Планета: " << zuna.name << "\n"
                  << "Диаметр: " << zuna.diameter << " км\n"
                  << "Жизнь: " << (zuna.hasLife ? "Да" : "Нет") << "\n"
                  << "Количество лун: " << zuna.moons << "\n\n";
    }
};
  1. Основная функция main():
#include <iostream>
#include <string>

const int NUM_PLANETS = 9;  // Константа для количества планет

int main() {
    Planet planets[NUM_PLANETS]; // Создание массива планет

    // Циклический ввод данных о планетах
    for (int i = 0; i < NUM_PLANETS; ++i) {
        std::cout << "Введите информацию о планете " << (i + 1) << ":\n";
        planets[i].GetPlanet();
    }

    // Печать информации о всех планетах
    std::cout << "\nИнформация о планетах:\n";
    for (int i = 0; i < NUM_PLANETS; ++i) {
        planets[i].Print();
    }

    return 0;
}

Пояснение коду:

  • В структуре Planetinfo мы объявили переменные, которые будут хранить имя планеты, её диаметр, наличие жизни и количество лун.
  • Класс Planet имеет метод GetPlanet, который запрашивает у пользователя информацию о планете, и метод Print, который выводит эту информацию в удобном формате.
  • В функции main() мы создаём массив planets для хранения 9 планет. Затем, в цикле, мы запрашиваем информацию о каждой планете и выводим её.

В результате этого кода вы сможете удобно хранить и выводить информацию о планетах. Удачи в ваших учебных делах! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать!