以下是一个基本的宾馆住宿管理系统的C语言程序。这个程序包括了添加房间、删除房间、修改房间信息和查询房间信息的功能。
```c
#include
#include
// 定义一个结构体来存储房间信息
typedef struct Room {
char room_name[50];
int capacity;
} Room;
// 定义一个结构体来存储宾馆信息
typedef struct Hotel {
Room rooms[100];
int total_rooms;
} Hotel;
// 添加房间
void addRoom(Hotel *hotel, char *name) {
Room *new_room = (Room *)malloc(sizeof(Room));
strcpy(new_room->room_name, name);
new_room->capacity = 0;
hotel->total_rooms++;
}
// 删除房间
void deleteRoom(Hotel *hotel, int index) {
if (index < 0 || index >= hotel->total_rooms) {
printf("Invalid room index!
");
return;
}
- for (int i = index; i < hotel->total_rooms
- 1; i++) {
hotel->rooms[i] = hotel->rooms[i + 1];
}
free(hotel->rooms[index]);
hotel->total_rooms--;
}
// 修改房间信息
void modifyRoom(Hotel *hotel, int index, char *name, int capacity) {
if (index < 0 || index >= hotel->total_rooms) {
printf("Invalid room index!
");
return;
}
strcpy(hotel->rooms[index].room_name, name);
hotel->rooms[index].capacity = capacity;
}
// 查询房间信息
void queryRoom(Hotel *hotel, char *name) {
for (int i = 0; i < hotel->total_rooms; i++) {
if (strcmp(hotel->rooms[i].room_name, name) == 0) {
printf("Room: %s, Capacity: %d
", hotel->rooms[i].room_name, hotel->rooms[i].capacity);
return;
}
}
printf("No such room found!
");
}
int main() {
Hotel hotel = {0};
addRoom(&hotel, "New Room 1");
addRoom(&hotel, "New Room 2");
queryRoom(&hotel, "New Room 1");
deleteRoom(&hotel, 1);
queryRoom(&hotel, "New Room 1");
return 0;
}
```
这个程序首先定义了一个结构体来存储房间信息,然后定义了一个结构体来存储宾馆信息。接着,实现了添加房间、删除房间、修改房间信息和查询房间信息的功能。在main函数中,我们创建了一个宾馆对象,并调用这些功能进行操作。