Напишите ** с++ через классы: Есть отель. В нем n номеров. Если номер занят, то false,...

0 голосов
91 просмотров

Напишите на с++ через классы:
Есть отель. В нем n номеров. Если номер занят, то false, если свободен, то true. Заполненность номеров хранится в массиве. Нужно добавить функцию бронирования номера. Если номер занят, то вывести false, если свободен true. Так же нужно вывести массив занятых и свободных номеров


Информатика (340 баллов) | 91 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Вот решение, как я понял, что тебе нужно, если что-то переделать - пиши

(1.7k баллов)
0

Вы сделали, что он показывает все номера свободными и только забронированный false, а неплохо было б, чтоб он уже рандомные номера делал заполнеными и если так совпало, что мы бронируем номер и он занят, вывел, что номер уже занят

0

если еще актуально, могу переделать

0

да, актуально

0

так же могли бы сделать, что номер занятый можно было освободить

0

#include
#include
#include

class Hotel
{
private:

std::vector rooms;

public:

void booking(unsigned int n)
{
if (rooms[n]) rooms[n] = 0;
else
{
std::cout << "You can't book this room\n";<br> system("pause");
}
}

0

void createRooms (unsigned int n)
{
srand(time(0));
for (int i = 0; i < n; i++)
{

rooms.push_back( rand() % 2);
}
}

void ViewRooms ()
{
for (int i = 0; i < rooms.size(); i++)
{
std::cout << "Room - " << i << " ";<br>if (rooms[i]) std::cout << "true\n"; else std::cout << "false\n";<br>}
}

void cancelBooking (int n)
{
if (!rooms[n]) rooms[n] = 1; else std::cout << "This room is free.";<br>}
};

0

int main ()
{
Hotel hotel;

while (1)
{
system("cls");

std::cout << "Choose an option:\n1. Create rooms.\n2. Booking room.\n3. View rooms.\n4. Cancel booking.\n 5. Exit.\n";<br> int choice;
std::cin >> choice;

system("cls");

int n;

0

switch(choice)
{
case 1:
std::cout << "Set nubmer of rooms: ";<br>
std::cin >> n;
hotel.createRooms(n);
break;
case 2:
std::cout << "Set room's number to book: ";<br> std::cin >> n;
hotel.booking(n);
break;
case 3:
hotel.ViewRooms();
system("pause");
break;
case 4:
std::cout << "Set a room to cancel booking: ";<br> std::cin >> n;
hotel.cancelBooking(n);
break;
}

if (choice == 5) break;
}
}

0

первые инклюды - iostream, vector, ctime

0

в седьмой строке добавить bool в треуольных скобках между vector и rooms