录入航班信息,并在另一个函数中列出来,c语言代码
时间: 2024-03-17 12:41:35 浏览: 28
可以使用结构体来存储航班信息,然后利用数组来存储多个航班的信息,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_FLIGHTS 100 // 最多可存储100个航班信息
// 定义航班信息结构体
struct Flight {
char number[10]; // 航班号
char origin[20]; // 出发地
char destination[20]; // 目的地
char departure_time[20]; // 出发时间
};
// 定义全局变量,用于存储航班信息
struct Flight flights[MAX_FLIGHTS];
int num_flights = 0; // 当前已存储的航班数
// 录入航班信息的函数
void add_flight() {
if (num_flights >= MAX_FLIGHTS) {
printf("已经存储了最多的航班信息!\n");
return;
}
struct Flight f;
printf("请输入航班号:");
scanf("%s", f.number);
printf("请输入出发地:");
scanf("%s", f.origin);
printf("请输入目的地:");
scanf("%s", f.destination);
printf("请输入出发时间:");
scanf("%s", f.departure_time);
flights[num_flights] = f;
num_flights++;
printf("航班信息已存储!\n");
}
// 列出所有航班信息的函数
void list_flights() {
if (num_flights == 0) {
printf("当前没有航班信息!\n");
return;
}
printf("航班号\t出发地\t目的地\t出发时间\n");
for (int i = 0; i < num_flights; i++) {
struct Flight f = flights[i];
printf("%s\t%s\t%s\t%s\n", f.number, f.origin, f.destination, f.departure_time);
}
}
// 主函数
int main() {
int choice;
do {
printf("请选择操作:\n");
printf("1. 录入航班信息\n");
printf("2. 列出所有航班信息\n");
printf("0. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_flight();
break;
case 2:
list_flights();
break;
case 0:
printf("程序已退出!\n");
break;
default:
printf("无效的操作!\n");
break;
}
} while (choice != 0);
return 0;
}
```
在上面的代码中,我们定义了一个 `Flight` 结构体来表示航班信息,包含航班号、出发地、目的地和出发时间等字段。然后使用全局变量 `flights` 来存储所有的航班信息,使用 `num_flights` 来记录当前已经存储的航班数量。在 `add_flight()` 函数中,通过用户输入来录入新的航班信息,并将其存储到 `flights` 数组中。在 `list_flights()` 函数中,遍历 `flights` 数组,将每个航班的信息输出到屏幕上。最后,在主函数中使用一个循环来不断显示菜单,根据用户的选择执行相应的操作。