C语言 酒店管理系统 换房 实现对房间信息的修改
时间: 2023-06-01 09:01:44 浏览: 97
以下是一种实现方式:
1. 定义一个结构体来表示房间信息,包括房间号、房间类型、房间状态等。例如:
```c
typedef struct {
int roomNumber; // 房间号
int roomType; // 房间类型,1表示单人间,2表示双人间,3表示套房
int roomStatus; // 房间状态,0表示空闲,1表示已入住,2表示已预订
float roomPrice; // 房间价格
} Room;
```
2. 定义一个数组来存储所有房间的信息。例如:
```c
Room rooms[100]; // 假设最多有100个房间
```
3. 编写一个函数来实现换房操作。该函数需要接受两个参数:原房间号和目标房间号。函数的实现过程如下:
- 首先查找原房间号在数组中的位置,如果找不到则提示用户输入错误的房间号。
- 然后查找目标房间号在数组中的位置,如果找不到则提示用户输入错误的房间号。
- 如果目标房间已经被占用,则提示用户该房间不可用。
- 如果目标房间可用,则将原房间的状态修改为“空闲”,将目标房间的状态修改为“已入住”,并提示用户换房成功。
例如:
```c
void changeRoom(int oldRoomNumber, int newRoomNumber) {
int oldIndex = -1, newIndex = -1;
for (int i = 0; i < 100; i++) {
if (rooms[i].roomNumber == oldRoomNumber) {
oldIndex = i;
break;
}
}
if (oldIndex == -1) {
printf("输入的原房间号不存在,请重新输入。\n");
return;
}
for (int i = 0; i < 100; i++) {
if (rooms[i].roomNumber == newRoomNumber) {
newIndex = i;
break;
}
}
if (newIndex == -1) {
printf("输入的目标房间号不存在,请重新输入。\n");
return;
}
if (rooms[newIndex].roomStatus != 0) {
printf("目标房间已被占用,无法换房。\n");
return;
}
rooms[oldIndex].roomStatus = 0;
rooms[newIndex].roomStatus = 1;
printf("换房成功!\n");
}
```
注意,上述代码仅为示例,实际应用中可能需要根据具体需求进行修改。另外,为了保证程序的健壮性,还需要对用户的输入进行合法性检查,例如输入的房间号是否为正整数等。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.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)