该系统采用双向链表实现,设计效果如下图所示。系统管理的信息有:航班号、出发地、目的地、起飞时间和票价。实现的功能包括录入航班信息、根据航班号删除对应的航班信息、根据航班号修改(更新)该班次的票价、根据航班号查询该航班的信息,以及显示所有的航班信息。
1. main.c文件
#include "flight.h"
int main()
{
int n; //功能选择
Info_t information; //航班信息
char destFlight[16]; //航班号
float price; //票价
//1.创建头结点
Manager_t *manager= Flight_Create();
while (1)
{
//2.显示系统界面
Flight_Interface();
//3.功能(操作)选择
printf("请根据对应序号选择功能:");
scanf("%d",&n);
//4.执行对应的操作
switch (n)
{
case 0: //退出系统
printf("已退出系统!!!\n");
return 0;
case 1: //录入航班信息
printf("请输入航班号:");
scanf("%s",information.flight_number);
printf("出发地:");
scanf("%s",information.departure);
printf("目的地:");
scanf("%s",information.destination);
printf("起飞时间:");
scanf("%s",information.take_off_time);
printf("票价:");
scanf("%f",&information.price);
Flight_TailInsert(manager,information);
break;
case 2: //删除航班信息
printf("请输入要删除的航班信息的航班号:");
scanf("%s",destFlight);
Flight_FlightNumberDel(manager,destFlight);
break;
case 3: //修改航班票价
printf("请输入要修改票价的航班号:");
scanf("%s",destFlight);
printf("更新票价为:");
scanf("%f",&price);
Flight_PriceRevise(manager,destFlight,price);
break;
case 4: //查询航班信息
printf("请输入要查询的航班信息的航班号:");
scanf("%s",destFlight);
Flight_FlightNumberFind(manager,destFlight);
break;
case 5: //显示所有航班信息
Flight_print(manager);
break;
default:
printf("输入错误,请重新输入!\n");
break;
}