Как можно организовать программу на языке C++, которая будет являться контейнером для картотеки в бюро обмена квартир?
Как можно организовать программу на языке C++, которая будет являться контейнером для картотеки в бюро обмена квартир? Каждая запись включает в себя следующую информацию: 1. Количество комнат в квартире. 2. Этаж, на котором находится квартира. 3. Площадь квартиры. 4. Адрес квартиры. Каким образом можно реализовать следующие функции: 1. Создание начальной картотеки. 2. Ввод запроса на обмен квартирами. 3. Поиск подходящего варианта в картотеке: если количество комнат и этаж совпадают, а разница в площади не превышает 10%, то выводится соответствующая запись и она удаляется из списка, в противном случае запрос добавляется в список. 4. Вывод всего списка записей. 5. Гарантия диалога с пользователем с помощью меню и контроль ошибок.
16.12.2023 13:54
Пояснение: Для реализации программы на языке C++, которая является контейнером для картотеки в бюро обмена квартир, мы можем использовать структуру или класс для хранения информации о каждой квартире. В структуре или классе будут содержаться поля, соответствующие каждому из требуемых параметров, то есть количество комнат, этаж, площадь и адрес. Определив структуру или класс, мы можем создать контейнер для хранения объектов этого типа, например, вектор.
1. Создание начальной картотеки:
- Создадим вектор, который будет представлять картотеку квартир.
- Позволим пользователю вводить информацию о каждой квартире с помощью функции ввода данных.
- Создаем экземпляр структуры или класса для каждой квартиры.
- После ввода всех данных добавляем экземпляр вектора.
2. Ввод запроса на обмен квартирами:
- Позволяет пользователю вводить параметры квартиры, которую он хочет обменять.
- Создаем экземпляр структуры или класса для параметров запроса.
- Проверяем наличие совпадений с параметрами квартир в картотеке.
3. Поиск подходящего варианта в картотеке:
- Проходим по всем квартирам вектора картотеки.
- Сравниваем количество комнат и этаж с параметрами запроса и проверяем, чтобы разница в площади не превышала 10%.
- Если найдено совпадение, выводим соответствующую запись на экран и удаляем ее из вектора.
Совет: Для облегчения процесса реализации программы, рекомендуется разбить ее на несколько функций, каждая из которых будет выполнять определенную задачу, например, функцию ввода данных, функцию поиска и функцию вывода результатов.
Дополнительный материал:
Упражнение: Напишите программу на языке C++, которая реализует функцию добавления новой квартиры в картотеку. Программа должна запросить у пользователя информацию о новой квартире (количество комнат, этаж, площадь и адрес) и добавить ее в существующую картотеку. После добавления выведите на экран обновленную картотеку.