您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 数据结构课程设计报告模板2
-1-数据结构课程设计报告设计题目:专业班级学生学号指导教师-1-目录目录...................................................................................................-1-正文...................................................................................................-1-一、需求分析..........................................................................-1-1.课设题目.................................................................................-1-2.题目要求.................................................................................-1-3.课题背景.................................................................................-1-4.系统分析.................................................................................-1-二、个人工作..........................................................................-2-1.基本实现.................................................................................-2-2.创新功能.................................................................................-2-三、概要设计..........................................................................-3-1.主程序流程图及其说明.........................................................-3-2.子程序流程图及其说明.........................................................-3-四、源程序..............................................................................-5-1.头文件代码.............................................................................-5-2.源文件代码...........................................................................-15-五、程序结果........................................................................-17-1.调试分析...............................................................................-17-2.截图分析与相关说明...........................................................-17-3.时间复杂程度分析...............................................................-22-4.算法的改进设想...................................................................-22-课程设计体会.....................................................................................-23--1-正文一、需求分析1.课设题目航空客运订票系统2.题目要求主要功能包括:1)查询航线:根据客户提出终点站名输出下列信息:航班号,飞机号,星期几飞行,最近一天的航班日期和余票额。2)承办订票业务:根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若上有余票,则为客户办理订票手续,输出座位号;若以满员余票额少于定票额,则需要重新询问客户要求,若需要,可预约登记排队等候。3)承办退票业务:根据客户提供的情况(日期,航班),为客户办理退票手续,然后查询航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则一次询问其他排队预约的客户。3.课题背景随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断的完善更新航空售票系统,提高航空售票系统的工作效率。因此,我选这个航空订票系统来研究,加强对其的了解,并进一步加深对数据结构各种算法的理解。4.系统分析从课程设计的题目要求可以知道,我们需要建立的是具有能对数据的插入,删除,检索功能的软件。由于乘客的数量较大且不固定,因此选择用链表来保存乘客的基本信息:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量等等,由于预约人数无法预计,队列也应以链表作存储结构。所以我们建立一个可以插入和删除-2-节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。系统主要实现的操作和功能是:查询航线、订票功能、退票功能。要实现这些功能,首先要使程序能实现查找功能,在查找出到有效信息的前提之下,通过链表的赋值,更新信息和删除退票人信息,满足客户的要求。二、个人工作拿到课设题目之后,经过仔细的研究,还是决定做航空客运订票系统,它可以使自己很好的巩固在数据结构当中所学到的知识以及各种算法,做到学以致用,并在运用的基础之上,进一步去创新。1.基本实现1)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,价格和剩余票额等业务。2)承办订票业务:根据客户提出的要求(终点站)查询该航班票额情况,若尚有余票,则为客户办理订票手续.输出座位号;若已满员,则需重新询问客户要求。若需要,可购买下一次航班或者等待看有没有人退票;3)承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所剩票额能满足他的要求.则为他办理订票手续,否则依次询问其它排队候补的客户。2.创新功能1)在用户实现查询、订票、退票之后,本系统另增加了一个询问的功能,询问用户是否继续操作还是返回菜单页。这样就给用户继续进行些操作时节省了很多时间,也使系统的运行时间缩短了许多。2)本系统增加了一个增加航线的功能,这样就可以不用固定在仅有的几个航线的操作,机场可以根据自己的需求,增加或删除航线,达到了数据的方便快捷的效果。3)此系统增加了清空系统的功能,这样可以避免若输入的信息-3-存在很多错误的情况之下,实行清空系统时,可以达到更加理想的效果。4)系统在菜单页面和各个操作当中都加了退出功能。退出之后可以进行其他的操作,不就必在关掉程序之后再去运行程序,若是这样的话,就不符合平常的操作习惯了。为了与实际接轨,退出功能还是很有必要去增加的。5)对程序在运行时输入错误操作的修改,提供了一定方便条件基本上能安全的运行,具备的功能符合题目的要求。程序写的还算简练,结构清晰,各个模块的分工和功能明确。三、概要设计1.主程序流程图及其说明主程序的流程图如下图3-1所示:图3-1利用switch语句,用户只需根据自己的需要,输入相应的命令即可达到效果。例如:若需要查询航线时,则输入2;需要清空系统时,则输入7;若需要退出系统,则输入8。若用户输入1到8其他的数据时,则弹出信息:您输入的信息有误,请重新输入!2.子程序流程图及其说明1)增加航线的流程图及其说明:主要功能是把新航班信息写入新建的链表中,然后把新链表与储存航班的链表合并,得到航空客运订票系统1、增加航线7、清空系统8、退出系统6、退订机票5、预订机票4、删除航线3、修改航线2、查询航线-4-新的航班信息,实现对新航线的增加。增加航线的流程图如图3-2所示:图3-22)查询、修改、删除航线流程图及其说明:先输入所要查找、删除或修改的航班,然后判断此航班是否存在,如果存在,则输出相关的航班信息或者进行修改或删除航班信息,如果不存在,则退出。查询、修改、删除航线流程图如图3-3所示:图3-3开始建立新的链表新增航班信息建立新链表对新链表置空,订票表头初始化返回上地地在在在输入航班的信息输出航班信息返回YN判断航班是否存在2.查询航线3.修改航线4.删除航线1.返回菜单2.继续操作1.增加航线输入所要查找、修改、删除的航班输入航班信息、修改、删除该航班信息1.返回菜单2.继续操作-5-3)订票、退票流程图及其说明:订票说明:先输入目的地,找到与它的位置,若找不到则提示不存在此目的地,再判断飞往目的地的航班是否有余票,若有余票输出座位信息,没余票输出剩余票数小于定票数,选择是否排队进入候补队列。退票说明:先通过对退票人的基本信息进行查找,判断是否存在此航班和是否存在此人订票信息,如果存在则进行退票。订票、退票流程图如图3-4所示:图3-4四、源程序1.头文件代码头文件取名为:hangkong.h#includeprocess.h#includestring.h#includeconio.h#includestdio.h#includeiomanip.h#defineMAX50//定义航线量的最大值#defineNULL0订票、退票系统售票系统订票系统退票系统是否有票?NY售票-6-typedefstructCustomer{charName[10];//姓名intAmount;//订票量intRank;//座位级别intSeat_No;//座位号charFlight_No[6];//航班号structCustomer*next;}Customer;typedefstructReplace{charName[10];intAmount;intRank;charFlight_No[6];structReplace*next;}Replace;typedefstructFlight{charDes_Name[10];//终点站名charFlight_No[6];//航班号charPlane_No[6];//飞机号charWeek_Day;//飞行日期(星期几)intCustomer_Amount;//乘客数量intFree_Amount;//剩余票数intPrice[3];//票价intReplace_Amount;Replace*ReplName;Customer*CustName;structFlight*next;}Flight,*PFlight;intCustomer_Amount=0;structFlight*head;structFlight*rear;Customer*Cusrear;Replace*Reprear;voidFlightInsert()//增加航线{Flight*p;p=newFlight;-7-inti=0;while(i!=1){p
本文标题:数据结构课程设计报告模板2
链接地址:https://www.777doc.com/doc-4924971 .html