logo资料库

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

第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
资料共25页,剩余部分请下载后查看
数据结构课程设计实验报告 ———C 语言版 课题:飞机订票系统和图的遍历的动态演示 姓名: 学号:089074114 班级:计算机科学与技术 084 指导教师:陈学进 - 1 -
数据结构课程设计实验报告 订票系统 1.需求分析 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结 构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间, 起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票: 可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序 完成功能; 2:主要设计思路: 1) 算法构造流程图: A:主菜单: - 2 -
数据结构课程设计实验报告 主菜单 1 2 3 4 5 6 7 8 9 列 出 按 航 按 订 票 退 票 修 改 保 存 读 取 退出 航 班 班 号 城 程序 系统 飞 机 文件 文 的 信 查 询 市 息 航 班 来 信息 查 航 班 的 信 息 件 、 下 载 文件 询 航 班 0 输 入 航 班 的 信 息 B:各分块模板的构造流程图: 0.输入航班的信息 航 班 起 飞 城 降 落 城 出 发 时 降 落 时 剩下的座 价 号 市 市 间 间 位 格 折 扣 1.列出航班的信息 继续 y 退出 n 2.按航班号查询航班信息 - 3 -
数据结构课程设计实验报告 输入所需要查询的航班号 显示这个航班的的信息 3.按城市来查询航班 输入起飞城市 输入降落城市 显示这个航班的信息 4.订票程序 输入号码 输入名字 输入 ID 需要定的票 航班号 数 5.退票系统 输入航班号 确定退票 1 输入你 ID 否定 0 6.修改飞机航班的信息 输入要修改的航班号 重新输入新的航班信息 7.保存文件 - 4 -
数据结构课程设计实验报告 显示保存成功 3:功能函数设计: (1):订票系统主菜单函数 menu_select() 本函数主要构造系统的主菜单,系统需要实现很多功能,并且 各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个 函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘 输入选择项,然后通过 scanf 接受,在通过 swtich 判断进入各个选择 项。 (2):工作人员管理函数 enter()&change() 系统需要各个航班的详细信息,所以需要工作人员把信息输入 系统里,以供乘客查询订票。enter()函数的构造就是为了解决这 个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发 生了更改,故工作人员需要及时更改信息,所以需要构造 change() 函数。 (3):列出航班信息的函数 list() 乘客需要查询各个航班的信息,所以通过系统要能调出上面工 作人员已经录入好的航班信息,所以构造本函数来实现这个功能。 (4)乘客具体查询函数 search() 本函数分两个分函数:search1()和 search2(),它们分别实 现乘客的按航班查询和按出发及抵达城市的两种查询方案。 (5)票务管理函数 book()&quit() 通过 book()函数可以实现乘客的订票操作,通过 quit()可 - 5 -
数据结构课程设计实验报告 以实现乘客的退票操作。 (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; - 6 -
数据结构课程设计实验报告 printf("按任意键返回主菜单\n");/*提示压任意键继续*/ getch(); /*读入任意字符*/ printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf(" do{ Welcome to\n\n"); Tickets Booking System\n\n"); ********************MENU****************\n\n"); 0. 输入航班信息\n"); 1. 列出航班的信息\n"); 2. 按航班号查询航班信息\n"); 3. 按城市来查询航班\n"); 4. 订票程序\n"); 5. 退票系统\n"); 6. 修改飞机航班的信息\n"); 7. 保存文件\n"); 8. 读取和下载文件\n"); 9. 退出\n"); *****************************************\n\n"); 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("%s",t[i].takeoff_time);/*输入起飞时间*/ scanf("%s",t[i].Landing_time);/*输入降落时间*/ scanf("%d",&t[i].shipping);/*输入舱位数*/ scanf("%s",t[i].price);/*输入票价*/ scanf("%s",t[i].discount);/*输入折扣*/ } printf("-----------------------------------------------------------------------------\n"); for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/ printf("没有找到\n"); else { printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*显示记录 - 8 -
分享到:
收藏