飞机订票程序,C语言轻松实现,带你飞越购票难题

2026-10-25 0 阅读

在数字化时代,飞机订票已经成为了人们出行的重要方式之一。而如何高效、便捷地实现飞机票务的预订,成为了许多程序开发者和票务服务提供者的关注焦点。本文将带领大家用C语言实现一个简单的飞机订票程序,让你轻松应对购票难题。

程序设计思路

在设计飞机订票程序时,我们需要考虑以下几个关键点:

  1. 数据结构:定义飞机、乘客和航班信息的数据结构,以便存储和管理相关信息。
  2. 功能模块:实现查询航班、预订机票、退票等功能模块。
  3. 用户界面:设计一个简洁明了的用户界面,方便用户操作。

数据结构

首先,我们需要定义以下数据结构:

// 定义航班信息
typedef struct {
    int flight_number; // 航班号
    char departure_city[50]; // 出发城市
    char destination_city[50]; // 目的地城市
    char departure_time[20]; // 出发时间
    int total_seats; // 总座位数
    int available_seats; // 可用座位数
} Flight;

// 定义乘客信息
typedef struct {
    int passenger_id; // 乘客ID
    char name[50]; // 乘客姓名
    int age; // 乘客年龄
    int flight_number; // 航班号
} Passenger;

功能模块

接下来,我们需要实现以下功能模块:

1. 查询航班

void query_flight(Flight flights[], int flight_count) {
    int i;
    printf("请输入航班号:");
    int flight_number;
    scanf("%d", &flight_number);

    for (i = 0; i < flight_count; i++) {
        if (flights[i].flight_number == flight_number) {
            printf("航班号:%d\n", flights[i].flight_number);
            printf("出发城市:%s\n", flights[i].departure_city);
            printf("目的地城市:%s\n", flights[i].destination_city);
            printf("出发时间:%s\n", flights[i].departure_time);
            printf("可用座位数:%d\n", flights[i].available_seats);
            return;
        }
    }
    printf("航班不存在。\n");
}

2. 预订机票

void book_ticket(Flight flights[], int flight_count, Passenger passengers[], int passenger_count) {
    int i, j;
    printf("请输入航班号:");
    int flight_number;
    scanf("%d", &flight_number);

    for (i = 0; i < flight_count; i++) {
        if (flights[i].flight_number == flight_number) {
            if (flights[i].available_seats > 0) {
                printf("请输入乘客姓名:");
                char name[50];
                scanf("%s", name);

                printf("请输入乘客年龄:");
                int age;
                scanf("%d", &age);

                // 为乘客分配座位
                flights[i].available_seats--;
                passengers[passenger_count].passenger_id = passenger_count + 1;
                strcpy(passengers[passenger_count].name, name);
                passengers[passenger_count].age = age;
                passengers[passenger_count].flight_number = flight_number;

                printf("预订成功!\n");
                return;
            } else {
                printf("该航班已满座。\n");
                return;
            }
        }
    }
    printf("航班不存在。\n");
}

3. 退票

void refund_ticket(Passenger passengers[], int passenger_count) {
    int i;
    printf("请输入乘客ID:");
    int passenger_id;
    scanf("%d", &passenger_id);

    for (i = 0; i < passenger_count; i++) {
        if (passengers[i].passenger_id == passenger_id) {
            // 为乘客释放座位
            int flight_number = passengers[i].flight_number;
            for (int j = 0; j < flight_count; j++) {
                if (flights[j].flight_number == flight_number) {
                    flights[j].available_seats++;
                    break;
                }
            }

            printf("退票成功!\n");
            return;
        }
    }
    printf("乘客不存在。\n");
}

用户界面

为了方便用户操作,我们可以设计一个简单的文本菜单:

void show_menu() {
    printf("1. 查询航班\n");
    printf("2. 预订机票\n");
    printf("3. 退票\n");
    printf("4. 退出\n");
    printf("请输入操作选项:");
}

总结

通过以上步骤,我们可以用C语言实现一个简单的飞机订票程序。这个程序可以帮助用户轻松查询航班、预订机票和退票。当然,这只是一个简单的示例,实际应用中可能需要考虑更多的功能和优化。希望这篇文章能够帮助你飞越购票难题,祝你在旅途中一路顺风!

分享到: