C++ 酒店管理

2024年8月28日 | 阅读 12 分钟

本文包含一个 C++ 酒店管理项目。该系统提供多种选择,如预订房间、查看客户信息、更改或删除任何客户以及查看所有已分配的房间。该项目开发中使用了两个关键的 C++ 概念——类和文件处理。

C++ 酒店管理系统的功能

  • 管理房间
  • 办理入住
  • 获取可用房间
  • 搜索客户
  • 办理退房
  • 获取宾客摘要报告

程序分解

我们将包含所有必要的库文件以避免任何错误,并将最大值预定义为 100。

我们为客户创建了一个类,其中包含大小为 100 的姓名变量、大小为 100 的地址变量、长度为 12 的电话字符变量、大小为 20 的 from_date 变量、大小为 20 的 to_date 变量、一个浮点型 payment_advance 变量和一个整型 booking_id。

我们声明了一个房间类,其中包含类型、stype、ac、roomNumber(整型)等变量,租金(整型)和状态(整型)。我们创建了客户类的一个对象 cust。

我们将房间类中的 rooms[max] 声明为全局变量,count 声明为 0;

在 addroom 函数中,创建一个房间类对象,该对象将根据客户需求添加房间,并询问是否需要空调,然后询问房间的舒适度和大小(S 或 B),以及我们将根据需要设置的每日租金。房间添加成功。

此 search room 函数将有助于查找现有房间(如果可用)。客户将输入房间号,如果找到房间,将显示房间的详细信息。

此函数仅当客户输入房间号并选择空调类型(是或否)、舒适度、房间大小等时才会显示房间。

这将是酒店管理类,包含办理入住、可用房间、搜索客户、办理退房和获取摘要报告等选项。

上面的 getsummary 函数将为我们获取现有客户的摘要(如果存在),我们也可以添加摘要。它将询问客户的名字、房间号、地址和电话号码。

如果客户想要预订,此代码将生效。客户将输入房间号;如果该房间已被预订,系统将显示一条文本,提示房间已被预订。如果房间未被预订,系统将要求输入预订 ID、客户姓名、地址、电话号码、入住日期和预付款。然后系统将显示一条文本,提示客户已成功办理入住。

上述函数将显示可用房间,如果该房间被预订,系统将显示一个标志,说明所有房间都已被预订。

上面的代码将用于搜索客户。用户将输入客户姓名,如果客户不存在,将显示“未找到此人”。

上面的代码用于生成客户账单。

上面的代码用于管理房间,例如添加房间或搜索房间或返回菜单。

酒店管理系统程序

输出

######## Hotel Management #########
1. Manage Rooms
2. Check-In Room
3. Available Rooms
4. Search Customer
5. Check-Out Room
6. Guest Summary Report
7. Exit
//when option 1
Enter Option:
### Manage Rooms ###
1. Add Room
2. Search Room
3. Back to Main Menu
Enter Option: 1
Enter Room Number: 1
Type AC/Non-AC (A/N) : A
Type Comfort (S/N) : S
Type Size (B/S) : B
Daily Rent : 1000
 Room Added Successfully!
### Manage Rooms ###
1. Add Room
2. Search Room
3. Back to Main Menu

Enter Option: 2
Enter room number: 1
Room Details
Room is available
Room Number:    1
Type AC/Non-AC (A/N) A
Type Comfort (S/N) S
Type Size (B/S) B
Rent: 1000
//when option 2 check in room
Enter Phone: 456378654
Enter From Date: 30/07/2022
Enter to  Date: 02/08/2022
Enter Advance Payment: 500
 Customer Checked-in Successfully..
//when search for customer
Enter Option: 4
Enter Customer Name: Rohit
Customer Name: Rohit
Room Number: 1

Press enter for next record
//when option chosen for check out
Enter Option: 5
Enter Room Number : 1
Enter Number of Days:   10

        ######## CheckOut Details ########

Customer Name : Rohit
Room Number : 1
Address : Delhi
Phone : 456378654
Total Amount Due : 10000 /
Advance Paid: 500 /
*** Total Payable: 9500/ only