Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 11
1

Простой класс House, вывести список квартир, имеющих заданное число комнат

07.06.2021, 21:08. Показов 4669. Ответов 2

Author24 — интернет-сервис помощи студентам
Включить в класс методы set (…), get (…), show (…). Определить другие методы.
Название класса - House: Адрес, Этаж, Количество комнат, Площадь. Создать массив объектов. Вывести:
а) список квартир, имеющих заданное число комнат;
б) список квартир, имеющих заданное число комнат и расположенных на этаже, который находится в определенном промежутке;

Помогите написать, или хотя бы по структуре подскажите, пожалуйста. Что за чем следует, какие методы и куда прописывать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2021, 21:08
Ответы с готовыми решениями:

Создать массив объектов. Вывести на экран список квартир, имеющих заданное число комнат
House: Адрес, Этаж, Количество комнат, Площадь. Создать массив объектов. Вывести на экран список...

Структура House: определить список квартир, которые имеют заданное количество комнат
Создать структуру. определить функции, позволяющие создавать переменную типа созданной структуры и...

Разработать класс House; определить количество квартир, имеющих площадь, превосходящую заданную
Разработать классы. Включить в класс методы set (…), get (…), show (…). Определить другие методы....

Вывести список всех квартир, отсортированный по количеству комнат (убывание метод вставки), с указанием количества комна
Помогите вставить сортировку вставками для количества квартир. Само задание: Ввести и сохранить в...

2
482 / 294 / 52
Регистрация: 13.08.2019
Сообщений: 1,042
08.06.2021, 11:23 2
Для начала создайте проект. В проекте у Вас будет один основной файл main.cpp. Создайте 2 файла для класса: house.cpp и house.h
В файле house.h описывайте поля и методы класса, в файле house.cpp описывайте реализацию методов.
В файле main.cpp создавайте объект класса(или массив объектов) и работайте с его методам. Например, Вы хотите посмотреть список всех квартир. Допустим, что за это отвечает метод show() и поскольку получать информацию Вы хотите из любого другого места(в данном случает в main-е), то имеет смысл сделать этот метод публичным.

Пара методов get() и set() пригодятся для получения/обновления информации о квартире для тех полей, которые Вы установите приватными. Работайте с классом, как типом данных. Создавая новый класс - вы создаете новый тип данных. Далее, как и с обычной переменной, Вы используете этот тип для создания переменной(это будет объект класса). Такие типы данных как int,float,char - это так же классы. Просто эти типы данных примитивные, поэтому мысленно работать с ними проще. Создать массив объектов - это точно так же, как создать массив из int-ов. Только в качестве элементов массива будет не int, а House. А дальше всё точно так же: получаете индекс элемента и проводите какие-то действия с ними. Если с int вы можете применять математические операции, то с House вы можете расширять функционал с помощью методов. К примеру, у вас указан метод show(). То есть нужно отобразить содержимое массива. В массиве у Вас объект, отобразим значения его полей.
По аналогии можете задавать условия для отображения. К примеру, список квартир с определенным числом комнат. Берёте объект, проверяете: совпадает количество комнат с условием? Совпадает. Значит отображаем. Не совпадает? Значит переходим к следующему элементу.

Смотрите пример:
house.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <string>
class House
{
 
private:
    std::string     m_address; // адрес
    int             m_floor; // этаж
    int             m_numberOfRooms; //количество комнат
    double          m_area; //площадь
 
public:
    void show();
    void listWithSpecifiedNumberRooms();
    void listWithSpecifiedNumberRoomsInRangeFloors();
 
public:
    std::string getAddress();
    void        setAddress(std::string address);
 
    int          getFloor();
    void        setFloor(int floor);
 
    int          getNumberOfRooms();
    void        setNumberOfRooms(int numberOfRooms);
 
    double     getArea();
    void        setArea(double area);
 
};
house.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <string>
#include "house.h"
 
void House::setAddress(std::string address)
{
    m_address = address;
}
 
std::string House::getAddress()
{
    return m_address;
}
 
int House::getFloor()
{
    return m_floor;
}
void House::setFloor(int floor)
{
    m_floor = floor;
}
int House::getNumberOfRooms()
{
    return m_numberOfRooms;
}
void House::setNumberOfRooms(int numberOfRooms)
{
   m_numberOfRooms = numberOfRooms;
}
double House::getArea()
{
    return m_area;
}
void House::setArea(double area)
{
    m_area = area;
}
 
 
void House::show()
{
    std::cout << "Addess: "                 << getAddress()         << std::endl;
    std::cout << "Floor: "                  << getFloor()           << std::endl;
    std::cout << "Number of rooms: "        << getNumberOfRooms()   << std::endl;
    std::cout << "Area: "                   << getArea()            << std::endl;
    std::cout << std:: endl;
}
 
void House::listWithSpecifiedNumberRooms()
{
 
}
 
void House::listWithSpecifiedNumberRoomsInRangeFloors()
{
 
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include "house.h"
 
using namespace std;
 
int main()
{
    int numHouses = 5;
    House houseList[numHouses];
 
    houseList[0].setAddress("Address_1");
    houseList[1].setAddress("Address_2");
    houseList[2].setAddress("Address_3");
    houseList[3].setAddress("Address_4");
    houseList[4].setAddress("Address_5");
 
    houseList[0].setFloor(1);
    houseList[1].setFloor(2);
    houseList[2].setFloor(3);
    houseList[3].setFloor(4);
    houseList[4].setFloor(5);
 
    houseList[0].setNumberOfRooms(1);
    houseList[1].setNumberOfRooms(2);
    houseList[2].setNumberOfRooms(3);
    houseList[3].setNumberOfRooms(1);
    houseList[4].setNumberOfRooms(2);
 
    houseList[0].setArea(25.5);
    houseList[1].setArea(64.2);
    houseList[2].setArea(89.7);
    houseList[3].setArea(34.4);
    houseList[4].setArea(61.8);
 
    for(int i = 0; i < numHouses; i++)
    {
        houseList[i].show();
    }
 
}
1
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 11
08.06.2021, 15:08  [ТС] 3
Спасибо за такой развернутый ответ!
0
08.06.2021, 15:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2021, 15:08
Помогаю со студенческими работами здесь

Картотека в бюро обмена квартир организована как линейный список. Сведения о каждой квартире содержат: количество комнат; этаж; площадь; в С++
Картотека в бюро обмена квартир организована как линейный список. Сведения о каждой квартире...

Создать класс House. Переменная типа House должна содержать следующие поля
Создать класс House. Переменная типа House должна содержать следующие поля: улица; номер;...

Создать класс «Квартира», в котором список комнат реализовать как односвязный список
Добрый день,написал фот такой клас по заданию:Создать класс «Квартира», в котором список комнат...

Произвести рассчет площадей комнат и стоимости квартир
Вы являетесь одним из разработчиков программного обеспечения для агентства недвижимости. Вам...

Разработать класс "Абитуриент", вывести список абитуриентов, имеющих неудовлетворительные оценки
Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), tostring...

Вывести список работников, стаж работы которых превышает заданное число лет
Работник: ФИО, должность, стаж, Зарплата. Вывести: а) список работников, стаж работы которых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru