航班订票系统同时录入几个航班信息,并可列出,可删除c语言代码
时间: 2024-03-20 15:43:32 浏览: 17
以下是一个简单的航班订票系统的C语言代码,可以同时录入多个航班信息,列出所有航班信息并删除指定航班信息。请注意,本代码仅作为示例,可能需要根据实际需求进行修改和完善。
```c
#include <stdio.h>
#include <string.h>
// 定义航班信息结构体
struct Flight {
char flight_no[10]; // 航班号
char departure[20]; // 出发地
char destination[20]; // 目的地
int seats_left; // 剩余座位数
};
// 定义航班信息数组和当前航班数
struct Flight flights[100];
int num_flights = 0;
// 函数声明
void add_flight();
void list_flights();
void delete_flight();
int main() {
int choice;
do {
// 显示菜单并读取用户选择
printf("\n航班订票系统\n");
printf("1. 录入航班信息\n");
printf("2. 列出所有航班信息\n");
printf("3. 删除指定航班信息\n");
printf("4. 退出\n");
printf("请选择:");
scanf("%d", &choice);
// 根据用户选择执行相应操作
switch (choice) {
case 1:
add_flight();
break;
case 2:
list_flights();
break;
case 3:
delete_flight();
break;
case 4:
printf("谢谢使用!\n");
break;
default:
printf("无效选择,请重新输入!\n");
break;
}
} while (choice != 4);
return 0;
}
// 录入航班信息
void add_flight() {
// 判断航班数是否达到上限
if (num_flights >= 100) {
printf("航班数已达到上限,无法继续录入!\n");
return;
}
// 读取航班信息
printf("\n录入航班信息:\n");
printf("航班号:");
scanf("%s", flights[num_flights].flight_no);
printf("出发地:");
scanf("%s", flights[num_flights].departure);
printf("目的地:");
scanf("%s", flights[num_flights].destination);
printf("剩余座位数:");
scanf("%d", &flights[num_flights].seats_left);
// 增加航班数
num_flights++;
printf("航班信息已录入!\n");
}
// 列出所有航班信息
void list_flights() {
printf("\n航班信息如下:\n");
printf("%-10s%-20s%-20s%-10s\n", "航班号", "出发地", "目的地", "剩余座位数");
for (int i = 0; i < num_flights; i++) {
printf("%-10s%-20s%-20s%-10d\n", flights[i].flight_no, flights[i].departure, flights[i].destination, flights[i].seats_left);
}
}
// 删除指定航班信息
void delete_flight() {
// 读取要删除的航班号
printf("\n请输入要删除的航班号:");
char flight_no[10];
scanf("%s", flight_no);
// 查找航班号对应的航班信息
int index = -1;
for (int i = 0; i < num_flights; i++) {
if (strcmp(flight_no, flights[i].flight_no) == 0) {
index = i;
break;
}
}
// 如果找到了要删除的航班信息,则删除它
if (index >= 0) {
for (int i = index; i < num_flights - 1; i++) {
flights[i] = flights[i + 1];
}
num_flights--;
printf("航班信息已删除!\n");
} else {
printf("未找到对应的航班信息!\n");
}
}
```
在上述代码中,航班信息使用结构体来表示,航班信息数组保存所有录入的航班信息,当前航班数保存当前已经录入的航班数。`add_flight()`函数用于录入新的航班信息,`list_flights()`函数用于列出所有航班信息,`delete_flight()`函数用于删除指定航班信息。在主函数中,使用循环显示菜单并读取用户选择,根据用户选择执行相应操作,直到用户选择退出。