在数字化时代,飞机订票已经成为了人们出行的重要方式之一。而如何高效、便捷地实现飞机票务的预订,成为了许多程序开发者和票务服务提供者的关注焦点。本文将带领大家用C语言实现一个简单的飞机订票程序,让你轻松应对购票难题。
程序设计思路
在设计飞机订票程序时,我们需要考虑以下几个关键点:
- 数据结构:定义飞机、乘客和航班信息的数据结构,以便存储和管理相关信息。
- 功能模块:实现查询航班、预订机票、退票等功能模块。
- 用户界面:设计一个简洁明了的用户界面,方便用户操作。
数据结构
首先,我们需要定义以下数据结构:
// 定义航班信息
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语言实现一个简单的飞机订票程序。这个程序可以帮助用户轻松查询航班、预订机票和退票。当然,这只是一个简单的示例,实际应用中可能需要考虑更多的功能和优化。希望这篇文章能够帮助你飞越购票难题,祝你在旅途中一路顺风!