1. Как организована программа на C++, которая представляет картотеку в бюро обмена квартир в виде контейнера?

1. Как организована программа на C++, которая представляет картотеку в бюро обмена квартир в виде контейнера?
2. Что необходимо включить в сведения о каждой квартире в картотеке?
3. Напишите программу, которая обеспечивает начальное формирование картотеки.
4. Каким образом программа позволяет пользователю вводить заявки на обмен?
5. Что должна выполнять программа при поиске подходящего варианта в картотеке?
6. Какую информацию выводит программа при нахождении подходящего варианта и удалении его из списка?
7. Что происходит с поступившей заявкой, если нет подходящего варианта в картотеке?
8. Что программа должна выводить при выполнении команды для вывода всего списка?
9. Как программа обеспечивает диалог с пользователем через меню?
10. Как реализован контроль ошибок в программе?
Artur

Artur

1. Для организации картотеки в виде контейнера в программе на C++ можно использовать структуру данных std::vector или std::list. Обе структуры позволяют хранить элементы в виде последовательности и обеспечивают удобный доступ к элементам.

Пример программы, организующей картотеку в виде контейнера std::vector:

cpp
#include
#include

struct Apartment {
std::string address;
int rooms;
float area;
};

int main() {
std::vector catalog;

// Добавление квартир в картотеку
Apartment apartment1;
apartment1.address = "ул. Пушкина, 10";
apartment1.rooms = 3;
apartment1.area = 80.5;
catalog.push_back(apartment1);

Apartment apartment2;
apartment2.address = "ул. Лермонтова, 7";
apartment2.rooms = 2;
apartment2.area = 60.2;
catalog.push_back(apartment2);

// Другие операции с картотекой
// ...

return 0;
}


2. В сведения о каждой квартире в картотеке необходимо включить следующую информацию:
- Адрес квартиры (строка)
- Количество комнат (целое число)
- Площадь (вещественное число)

3. Пример программы, обеспечивающей начальное формирование картотеки:

cpp
#include
#include

struct Apartment {
std::string address;
int rooms;
float area;
};

int main() {

std::vector catalog;

int numApartments;
std::cout << "Введите количество квартир в картотеке: ";
std::cin >> numApartments;

for(int i = 0; i < numApartments; i++) {
Apartment apartment;

std::cout << "Введите адрес квартиры: ";
std::cin.ignore();
std::getline(std::cin, apartment.address);

std::cout << "Введите количество комнат: ";
std::cin >> apartment.rooms;

std::cout << "Введите площадь квартиры: ";
std::cin >> apartment.area;

catalog.push_back(apartment);
}

// Другие операции с картотекой
// ...

return 0;
}


4. Программа может позволить пользователю вводить заявки на обмен, запрашивая необходимую информацию о квартире, например:
- Адрес квартиры, которую пользователь хочет обменять
- Количество комнат желаемой квартиры
- Диапазон площади желаемой квартиры

Пример программы, позволяющей пользователям вводить заявки на обмен:

cpp
#include
#include

struct Apartment {
std::string address;
int rooms;
float area;
};

int main() {
std::vector catalog;

// Заполнение картотеки квартирами
// ...

// Ввод заявки на обмен
std::string desiredAddress;
int desiredRooms;
float minDesiredArea, maxDesiredArea;

std::cout << "Введите адрес желаемой квартиры: ";
std::cin.ignore();
std::getline(std::cin, desiredAddress);

std::cout << "Введите количество комнат желаемой квартиры: ";
std::cin >> desiredRooms;

std::cout << "Введите минимальную площадь желаемой квартиры: ";
std::cin >> minDesiredArea;

std::cout << "Введите максимальную площадь желаемой квартиры: ";
std::cin >> maxDesiredArea;

// Поиск подходящего варианта в картотеке
for (const auto& apartment : catalog) {
if (apartment.address == desiredAddress && apartment.rooms == desiredRooms &&
apartment.area >= minDesiredArea && apartment.area <= maxDesiredArea) {
// Найден подходящий вариант, вывод информации и удаление из списка
std::cout << "Найден подходящий вариант:\n";
std::cout << "Адрес: " << apartment.address << "\n";
std::cout << "Количество комнат: " << apartment.rooms << "\n";
std::cout << "Площадь: " << apartment.area << "\n";

// Удаление найденной квартиры из картотеки
// ...
}
}

// Если после поиска варианта картотека осталась неизменной, нет подходящего варианта
std::cout << "Подходящий вариант не найден\n";

return 0;
}


5. При поиске подходящего варианта в картотеке программа должна проверить, соответствуют ли запрошенные параметры адреса, количества комнат и площади желаемой квартиры параметрам квартиры в картотеке. Если найден подходящий вариант, программа может вывести информацию о квартире и удалить ее из списка.

6. Программа может выводить информацию о подходящем варианте при его нахождении, включая адрес, количество комнат и площадь. Также, вариант может быть удален из списка квартир в картотеке.

7. Если в картотеке нет подходящего варианта для поступившей заявки, программа может выдать соответствующее сообщение, например: "Подходящий вариант не найден".

8. При отсутствии подходящего варианта в картотеке, поступившая заявка может быть сохранена или удалена в зависимости от потребностей и требований программы. Это может быть реализовано с помощью дополнительных операций с контейнером, например, добавление заявки в отдельный список или возврат заявки для дальнейшей обработки. Точную логику обработки заявок можно определить в соответствии с требованиями программы.
Знаешь ответ?
Задать вопрос
Привет!
hello