
C++ Опишите структуру FLAT (количество комнат, площадь, этаж, адрес, цена). Создайте массив
структур из N элементов. Введите с клавиатуры данные для заполнения массива. Выведите на экран информацию о квартирах, стоимость которых не больше введенного с клавиатуры числа. Если такой квартиры нет, то программа должна выдать соответствующее сообщение на экран.

Ответы на вопрос

#include <iostream>
#include <string>
#define N 5
using namespace std;
int count_flat = 0;
struct Flat {
int n_rooms;
int square;
int floor;
string address;
double price;
void PrintInfo() {
cout << "\nКоличество комнат: " << n_rooms << "\nПлощадь " << square << "\nЭтаж:" << floor << "\nАдрес " << address << "\nЦена: " << price;
}
void InputInfo() {
cout << "Количество комнат: ";
cin >> n_rooms;
cout << "Площадь: ";
cin >> square;
cout << "Этаж: ";
cin >> floor;
cout << "Адрес: ";
getline(cin, address);
cout << "Цена: ";
cin >> price;
}
void PrintChecksInfo(int number) {
if (number >= price) {
count_flat++;
PrintInfo();
}
}
};
signed main() {
setlocale(LC_ALL, "Rus");
int choice;
Flat mas[N];
for (int i = 0; i < N; i++)
mas[i].InputInfo();
cout << "Введите стоимость: ";
cin >> choice;
for (int i = 0; i < N; i++) {
mas[i].PrintChecksInfo(choice);
}
if (count_flat <= 0)
cout << "Таких квартир нет!";
return 0;
}



Вот пример программы на C++, которая реализует структуру FLAT
, создает массив структур из N элементов, заполняет его данными с клавиатуры и выводит информацию о квартирах, стоимость которых не больше заданной с клавиатуры суммы:
cpp#include <iostream>
#include <string>
// Структура для представления информации о квартире
struct FLAT {
int numberOfRooms;
double area;
int floor;
std::string address;
double price;
};
int main() {
int N; // Количество квартир
double maxPrice; // Максимальная стоимость для фильтрации
std::cout << "Введите количество квартир: ";
std::cin >> N;
// Создаем массив структур FLAT
FLAT* flats = new FLAT[N];
// Ввод данных о квартирах с клавиатуры
for (int i = 0; i < N; i++) {
std::cout << "Введите данные о квартире #" << i + 1 << ":\n";
std::cout << "Количество комнат: ";
std::cin >> flats[i].numberOfRooms;
std::cout << "Площадь: ";
std::cin >> flats[i].area;
std::cout << "Этаж: ";
std::cin >> flats[i].floor;
std::cin.ignore(); // Очистка буфера ввода
std::cout << "Адрес: ";
std::getline(std::cin, flats[i].address);
std::cout << "Цена: ";
std::cin >> flats[i].price;
}
std::cout << "Введите максимальную стоимость: ";
std::cin >> maxPrice;
bool found = false; // Флаг, указывающий на наличие квартир с заданной стоимостью
// Вывод информации о квартирах, удовлетворяющих условию
std::cout << "Квартиры с ценой не больше " << maxPrice << ":\n";
for (int i = 0; i < N; i++) {
if (flats[i].price <= maxPrice) {
found = true;
std::cout << "Квартира #" << i + 1 << ":\n";
std::cout << "Количество комнат: " << flats[i].numberOfRooms << "\n";
std::cout << "Площадь: " << flats[i].area << " кв. м\n";
std::cout << "Этаж: " << flats[i].floor << "\n";
std::cout << "Адрес: " << flats[i].address << "\n";
std::cout << "Цена: " << flats[i].price << " руб.\n";
}
}
if (!found) {
std::cout << "Квартир с заданной стоимостью не найдено.\n";
}
// Освобождение памяти, выделенной для массива структур
delete[] flats;
return 0;
}
Эта программа позволяет пользователю ввести информацию о квартирах, задать максимальную стоимость и выводит информацию о квартирах, цена которых не превышает заданное значение. Если таких квартир нет, программа выдаст соответствующее сообщение.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili