Загрузка данных


#include <iostream>
#include <locale.h>
#include "gamingcomputer.h"
using namespace std;

int main() {
    setlocale(LC_ALL, "Russian");

    GamingComputer* pc = NULL;   // пока объекта нет
    int choice;

    do {
        cout << "\n========== МЕНЮ ==========\n";
        cout << "1. Создать игровой компьютер\n";
        cout << "2. Показать информацию\n";
        cout << "3. Изменить цену\n";
        cout << "4. Проверить: игровой ли?\n";
        cout << "5. Проверить RGB\n";
        cout << "0. Выход\n";
        cout << "Выбор: ";
        cin >> choice;

        switch (choice) {

        case 1: {
            char brand[50], cpu[50], gpu[50];
            double price;
            int ram, hdd, cooler;
            int rgbAnswer;

            cout << "Бренд: ";          cin >> brand;
            cout << "Процессор: ";      cin >> cpu;
            cout << "Видеокарта: ";     cin >> gpu;
            cout << "ОЗУ (ГБ): ";       cin >> ram;
            cout << "Накопитель (ГБ): ";cin >> hdd;
            cout << "Цена: ";           cin >> price;
            cout << "RGB? (1-да, 0-нет): "; cin >> rgbAnswer;
            cout << "Кулер (Вт): ";     cin >> cooler;

            // Удаляем старый объект, если был
            if (pc != NULL) delete pc;

            pc = new GamingComputer(brand, price, cpu, gpu,
                                    ram, hdd,
                                    rgbAnswer == 1, cooler);
            cout << ">>> Компьютер создан!\n";
            break;
        }

        case 2:
            if (pc == NULL) cout << ">>> Сначала создайте компьютер!\n";
            else {
                cout << "\n--- Информация ---\n";
                pc->print();
            }
            break;

        case 3:
            if (pc == NULL) cout << ">>> Сначала создайте компьютер!\n";
            else {
                double newPrice;
                cout << "Новая цена: ";
                cin >> newPrice;
                pc->setPrice(newPrice);
                cout << ">>> Цена изменена.\n";
            }
            break;

        case 4:
            if (pc == NULL) cout << ">>> Сначала создайте компьютер!\n";
            else {
                cout << "Игровой? " << (pc->isGaming() ? "Да" : "Нет") << "\n";
            }
            break;

        case 5:
            if (pc == NULL) cout << ">>> Сначала создайте компьютер!\n";
            else {
                cout << "RGB? " << (pc->isRGB() ? "Да" : "Нет") << "\n";
            }
            break;

        case 0:
            cout << "Выход...\n";
            break;

        default:
            cout << ">>> Неверный пункт!\n";
        }

    } while (choice != 0);

    // Освобождаем память перед выходом
    if (pc != NULL) delete pc;

    return 0;
}