Предмет: Информатика,
автор: Трафальгар
Напишите на с++ через классы:
Есть отель. В нем n номеров. Если номер занят, то false, если свободен, то true. Заполненность номеров хранится в массиве. Нужно добавить функцию бронирования номера. Если номер занят, то вывести false, если свободен true. Так же нужно вывести массив занятых и свободных номеров
Ответы
Автор ответа:
1
Вот решение, как я понял, что тебе нужно, если что-то переделать - пиши
Трафальгар:
Вы сделали, что он показывает все номера свободными и только забронированный false, а неплохо было б, чтоб он уже рандомные номера делал заполнеными и если так совпало, что мы бронируем номер и он занят, вывел, что номер уже занят
если еще актуально, могу переделать
да, актуально
так же могли бы сделать, что номер занятый можно было освободить
#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";
system("pause");
}
}
#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");
}
}
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 << " ";
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.";
}
};
{
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.";
}
};
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";
int choice;
std::cin >> choice;
system("cls");
int n;
{
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;
switch(choice)
{
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;
}
}
{
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;
}
}
первые инклюды - iostream, vector, ctime
в седьмой строке добавить bool в треуольных скобках между vector и rooms
Похожие вопросы
Предмет: Алгебра,
автор: kalasnikovaulana69
Предмет: Алгебра,
автор: Аноним
Предмет: Право,
автор: dolgihvera652
Предмет: Математика,
автор: Duana9
Предмет: Литература,
автор: RaliSh12894