C语言酒店管理设计怎么实现客人按状态查询房间
时间: 2024-01-07 20:03:29 浏览: 27
实现客人按状态查询房间的功能,可以考虑以下步骤:
1. 定义房间状态:可以将房间状态定义为枚举类型,例如:空闲、已预订、已入住等。
2. 定义房间结构体:可以定义一个包含房间号、房间类型、房间价格、房间状态等信息的结构体,并使用数组存储所有房间信息。
3. 实现查询功能:可以通过循环遍历所有房间,将符合查询条件(即房间状态)的房间信息输出。
下面是一个简单的示例代码:
```
#include <stdio.h>
// 房间状态枚举类型
enum RoomStatus {
EMPTY, // 空闲
BOOKED, // 已预订
OCCUPIED // 已入住
};
// 房间结构体
struct Room {
int roomNo; // 房间号
char roomType[20]; // 房间类型
float roomPrice; // 房间价格
enum RoomStatus status; // 房间状态
};
// 初始化房间信息
void initRooms(struct Room rooms[], int n) {
// 假设共有n个房间
for (int i = 0; i < n; i++) {
rooms[i].roomNo = i + 1; // 房间号从1开始
sprintf(rooms[i].roomType, "标准间"); // 房间类型
rooms[i].roomPrice = 200.0; // 房间价格
rooms[i].status = EMPTY; // 初始状态为空闲
}
}
// 按状态查询房间
void searchRoomByStatus(struct Room rooms[], int n, enum RoomStatus status) {
printf("查询结果:\n");
for (int i = 0; i < n; i++) {
if (rooms[i].status == status) {
printf("房间号:%d,类型:%s,价格:%.2f,状态:%d\n", rooms[i].roomNo, rooms[i].roomType, rooms[i].roomPrice, rooms[i].status);
}
}
}
// 测试函数
int main() {
const int n = 10; // 假设有10个房间
struct Room rooms[n];
initRooms(rooms, n);
// 模拟预订和入住
rooms[2].status = BOOKED;
rooms[3].status = BOOKED;
rooms[5].status = OCCUPIED;
rooms[8].status = OCCUPIED;
// 按状态查询
searchRoomByStatus(rooms, n, EMPTY);
return 0;
}
```
在上面的示例代码中,我们定义了房间状态枚举类型,以及房间结构体,并在初始化函数中初始化了所有房间的信息。然后,我们模拟了部分房间的预订和入住情况,并通过调用 `searchRoomByStatus()` 函数实现了按状态查询房间的功能。最后,将符合条件的房间信息输出到控制台。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)