用Ubuntu编写C语言程序设计的酒店管理系统源码

以下是一个简单的酒店管理系统的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)和相关依赖库。

请注意,这只是一个示例,可能不包含全面的错误处理和输入验证。在实际的应用中,应该添加适当的错误处理和安全性检查来确保系统的正确性和可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值