航班查询系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
。
武汉轻工大学数计学院《数据结构》课程设计报告
名称:航班查询系统
班级:信息与计算科学1301
姓名:王杰
学号:1312010027
指导教师:王防修
学年学期:2014 ~ 2015 学年第一学期
2014 年12 月26 日
一、需求分析
1. 问题描述:
本任务要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。本设计主要是对排序以及查找等概念进行综合练习。以链式基数排序为主线,用到二分查找和顺序查找等知识,还有建立静态链表等相关概念.
2. 基本要求:
进入系统后,首先提示输入航班的信息,包括:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号及票价等,票价为整型,其他为字符型。当输入完一个信息后会提示是否继续输入,重复以上步骤输入全部的信息。进入主菜单后会给出用户操作的界面,根据提示进行航班信息的查询。
二、概要设计
1.系统的功能:
本任务要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。本设计主要是对排序以及查找等概念进行综合练习。以链式基数排序为主线,用到二分查找和顺序查找等知识,还有建立静态链表等相关概念。
2.系统模块分析:
(1)航班排序对输入系统内的航班首先要进行排序,我们采用的基数排序,从低位到高位依次对关键字进行分配和收集,分两段实现其算法流程图。
(2)时间查找根据航班的起飞时间(到达时间)查找航班的信息。
(3)二分法查找功能
(4)显示功能显示功能是将所求单词的所有行列信息依次显示在屏幕上。
航班查询系统
程序源代码:
# include
# include
# include
#include
# include
# include
# define Null 0
struct flight
{
char fltNum[15];
char StartingPoint [20];
char Terminal [20];
char DepartureTime[8];
char ArrivalTime[8];
char AircraftType[10];
int price;
struct flight * next;
};
void print()
{
printf("**************欢迎光临航班查询系统******************\n");
printf("|--------------------------------------------------|\n");
printf("| 请输入选项编号(0-8)|\n");
printf("|--------------------------------------------------|\n");
printf("| 1--录入航班信息|\n");
printf("| 2--添加新航班信息|\n");
printf("| 3--删除航班信息|\n");
printf("| 4--排序航班信息|\n");
printf("| 5--浏览所有航班信息|\n");
printf("| 6--查询航班信息|\n");
printf("| 7--退出航班查询系统|\n");
printf("|--------------------------------------------------|\n");
}
struct flight * init(int n)
{
int i;
struct flight *head,*p,*s;
for(i=1;i<=n;i++)
{
printf("航班号起点站终点站起飞时间到达时间机型价格\n");
if(i==1)
{
p=(struct flight*) malloc(sizeof(struct flight));
scanf("%s",&p->fltNum);
scanf("%s",&p->StartingPoint);
scanf("%s",&p->Terminal);
scanf("%s",&p->DepartureTime);
scanf("%s",&p->ArrivalTime);
scanf("%s",&p->AircraftType);
scanf("%d",&p->price);
head=p;
getchar();
}
else
{
s=(struct flight*) malloc(sizeof(struct flight));
scanf("%s",&s->fltNum);
scanf("%s",&s->StartingPoint);
scanf("%s",&s->Terminal);
scanf("%s",&s->DepartureTime);
scanf("%s",&s->ArrivalTime);
scanf("%s",&s->AircraftType);
scanf("%d",&s->price);
p->next=s;
p=s;
getchar();
}
}
s->next=Null;
if(head!=NULL)
printf("录入信息成功!\n");
return head;
}
void insert(struct flight *head)
{
struct flight *p,*pi;
pi=(struct flight*) malloc(sizeof(struct flight));
p=head;
printf("航班号起点站终点站起飞时间到达时间机型价格\n");