航班查询系统

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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");

相关文档
最新文档