数据结构课程设计(C语言版)飞机订票系统

  • 格式:doc
  • 大小:208.50 KB
  • 文档页数:25

下载文档原格式

  / 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

———C语言版

课题:飞机订票系统和图的遍历的动态演示

姓名:

学号:

班级:

指导教师:

订票系统

1.需求分析

任务:通过此系统可以实现如下功能:

录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)

可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票:可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件

要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

2:主要设计思路:

1)算法构造流程图:

A:主菜单:

B:各分块模板的构造流程图:

3:功能函数设计:

(1):订票系统主菜单函数 menu_select()

本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。

(2):工作人员管理函数 enter()&change()

系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。enter()函数的构造就是为了解决这个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。

(3):列出航班信息的函数 list()

乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。(4)乘客具体查询函数 search()

本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。

(5)票务管理函数 book()&quit()

通过book()函数可以实现乘客的订票操作,通过quit()可

以实现乘客的退票操作。

(6)文件操作函数 save()&load()

3.源程序代码:(WIN TC下运行)

#include<>

#include<>

#include<>

#include<>

#define N 20

#define Q 40

/*定义数据结构*/

/*乘客信息*/

typedef struct

{

char number[10];/*编号*/

char id[20]; /*证件号*/

char name[10]; /*姓名*/

int count; /*订票数*/

char flightname[10];/*乘坐航班号*/

}GUEST;

/*航班信息*/

typedef struct

{char planenumber[10];/*航班号*/

char Take_off_city[20];/*起飞城市*/

char Arrived_in_city[20];/*抵达城市*/

char takeoff_time[20];/*起飞时间*/

char Landing_time[20];/*降落时间*/

int shipping; /*舱位数*/

char price[5]; /*票价*/

char discount[5]; /*折扣*/

GUEST guest[20];

int sit;

}FLY;

/*菜单函数,函数返回值为整数,代表所选的菜单项*/ menu_select()

{

int c;

printf("按任意键返回主菜单\n");/*提示压任意键继续*/

getch(); /*读入任意字符*/

printf(" Welcome to\n\n");

printf(" Tickets Booking System\n\n");

printf(" ********************MENU****************\n\n");

printf(" 0. 输入航班信息\n");

printf(" 1. 列出航班的信息\n");

printf(" 2. 按航班号查询航班信息\n");

printf(" 3. 按城市来查询航班\n");

printf(" 4. 订票程序\n");

printf(" 5. 退票系统\n");

printf(" 6. 修改飞机航班的信息\n");

printf(" 7. 保存文件\n");

printf(" 8. 读取和下载文件\n");

printf(" 9. 退出\n");

printf(" *****************************************\n\n");

do{

printf("\n 输入你的选择项(0~9):"); /*提示输入选项*/

scanf("%d",&c); /*输入选择项*/

}while(c<0||c>9); /*选择项不在~9之间重输*/

return c; /*返回选择项,主程序根据该数调用相应的函数*/

}

/*输入函数*/

int enter(FLY t[])

{

int i,k,n,m,w,j;

char *s;

printf("输入航线总数(n<=40):");/*输入航线总数*/

scanf("%d",&n);

while(n>40||n<0)

{

printf("输入错误!!再次输入(0

scanf("%d",&n);

}

printf(" 输入航班的信息\n\n");/*提示信息*/

printf("航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣\n");

printf("------------------------------------------------------------------------------\n");

for(i=0;i

{

scanf("%s",t[i].planenumber);/*输入姓名*/

scanf("%s",t[i].Take_off_city);/*输入起飞城市*/

scanf("%s",t[i].Arrived_in_city);/*输入降落城市*/