Предмет: Информатика,
автор: Трафальгар
Напишите на с++ через классы:
Есть отель. В нем n номеров. Если номер занят, то false, если свободен, то true. Заполненность номеров хранится в массиве. Нужно добавить функцию бронирования номера. Если номер занят, то вывести false, если свободен true. Так же нужно вывести массив занятых и свободных номеров
Ответы
Автор ответа:
1
Вот решение, как я понял, что тебе нужно, если что-то переделать - пиши
Трафальгар:
Вы сделали, что он показывает все номера свободными и только забронированный false, а неплохо было б, чтоб он уже рандомные номера делал заполнеными и если так совпало, что мы бронируем номер и он занят, вывел, что номер уже занят
#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";
system("pause");
}
}
{
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 << " ";
if (rooms[i]) std::cout << "true\n"; else std::cout << "false\n";
}
}
void cancelBooking (int n)
{
if (!rooms[n]) rooms[n] = 1; else std::cout << "This room is free.";
}
};
{
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";
int choice;
std::cin >> choice;
system("cls");
int n;
{
case 1:
std::cout << "Set nubmer of rooms: ";
std::cin >> n;
hotel.createRooms(n);
break;
case 2:
std::cout << "Set room's number to book: ";
std::cin >> n;
hotel.booking(n);
break;
case 3:
hotel.ViewRooms();
system("pause");
break;
case 4:
std::cout << "Set a room to cancel booking: ";
std::cin >> n;
hotel.cancelBooking(n);
break;
}
if (choice == 5) break;
}
}
Интересные вопросы
Предмет: История,
автор: egordubrosky007
Предмет: Английский язык,
автор: 0057843
Предмет: Химия,
автор: kolobok1312
Предмет: Литература,
автор: aramgrigoryan99