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

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

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


Информатика Начинающий (340 баллов)
Дан 1 ответ
0 голосов
Одаренный (1.7k баллов)
 
Правильный ответ

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

оставил комментарий Начинающий (340 баллов)

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

оставил комментарий Одаренный (1.7k баллов)

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

оставил комментарий Начинающий (340 баллов)

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

оставил комментарий Начинающий (340 баллов)

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

оставил комментарий Одаренный (1.7k баллов)

#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");
}
}

оставил комментарий Одаренный (1.7k баллов)

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>}
};

оставил комментарий Одаренный (1.7k баллов)

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;

оставил комментарий Одаренный (1.7k баллов)

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;
}
}

оставил комментарий Одаренный (1.7k баллов)

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

оставил комментарий Одаренный (1.7k баллов)

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

...