以下是一个简单的酒店管理系统的C语言程序设计的示例源码,适用于Ubuntu系统:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ROOMS 100
struct Room {
int roomNumber;
char guestName[20];
int guestAge;
int occupancyStatus;
};
struct Room hotel[MAX_ROOMS];
void initializeHotel() {
int i;
for(i=0; i<MAX_ROOMS; i++) {
hotel[i].roomNumber = i+1;
strcpy(hotel[i].guestName, "");
hotel[i].guestAge = 0;
hotel[i].occupancyStatus = 0;
}
}
void checkIn() {
int roomNumber;
char guestName[20];
int guestAge;
printf("Enter room number: ");
scanf("%d", &roomNumber);
if(roomNumber < 1 || roomNumber > MAX_ROOMS) {
printf("Invalid room number!\n");
return;
}
if(hotel[roomNumber-1].occupancyStatus == 1) {
printf("Room is already occupied!\n");
return;
}
printf("Enter guest name: ");
scanf("%s", guestName);
printf("Enter guest age: ");
scanf("%d", &guestAge);
strcpy(hotel[roomNumber-1].guestName, guestName);
hotel[roomNumber-1].guestAge = guestAge;
hotel[roomNumber-1].occupancyStatus = 1;
printf("Check-in successful!\n");
}
void checkOut() {
int roomNumber;
printf("Enter room number: ");
scanf("%d", &roomNumber);
if(roomNumber < 1 || roomNumber > MAX_ROOMS) {
printf("Invalid room number!\n");
return;
}
if(hotel[roomNumber-1].occupancyStatus == 0) {
printf("Room is not occupied!\n");
return;
}
strcpy(hotel[roomNumber-1].guestName, "");
hotel[roomNumber-1].guestAge = 0;
hotel[roomNumber-1].occupancyStatus = 0;
printf("Check-out successful!\n");
}
void displayOccupancyStatus() {
int i;
printf("Room\tGuest Name\tGuest Age\tOccupancy Status\n");
for(i=0; i<MAX_ROOMS; i++) {
printf("%d\t", hotel[i].roomNumber);
printf("%s\t\t", hotel[i].guestName);
printf("%d\t\t", hotel[i].guestAge);
printf("%s\n", hotel[i].occupancyStatus == 1 ? "Occupied" : "Vacant");
}
}
int main() {
int choice;
initializeHotel();
while(1) {
printf("Hotel Management System:\n");
printf("1. Check-in\n");
printf("2. Check-out\n");
printf("3. Display Occupancy Status\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice) {
case 1:
checkIn();
break;
case 2:
checkOut();
break;
case 3:
displayOccupancyStatus();
break;
case 4:
exit(0);
default:
printf("Invalid choice!\n");
}
printf("\n");
}
return 0;
}
```
这个程序实现了一个简单的酒店管理系统,包括了客房的入住、退房和显示入住情况等功能。你可以根据自己的需求进行修改和扩展。请确保在编译和运行之前,安装了C语言的编译器(如gcc)和相关依赖库。
请注意,这只是一个示例,可能不包含全面的错误处理和输入验证。在实际的应用中,应该添加适当的错误处理和安全性检查来确保系统的正确性和可靠性。
7802

被折叠的 条评论
为什么被折叠?



