




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言版课题飞机订票系统和图的遍历的动态演示姓名学号班级指导教师订票系统1需求分析任务通过此系统可以实现如下功能录入可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息当航班信息改变可以修改航班数据文件要求根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2主要设计思路1)算法构造流程图A主菜单主菜单0123456789输入航班的信息列出航班的信息按航班号查询航班信息按城市来查询航班订票程序退票系统修改飞机航班的信息保存文件读取文件、下载文件退出B各分块模板的构造流程图0输入航班的信息航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣1列出航班的信息继续Y退出N2按航班号查询航班信息输入所需要查询的航班号显示这个航班的的信息4订票程序输入号码输入名字输入ID需要定的票数航班号7保存文件3按城市来查询航班输入起飞城市输入降落城市显示这个航班的信息5退票系统输入航班号输入你ID确定退票1否定06修改飞机航班的信息输入要修改的航班号重新输入新的航班信息显示保存成功3功能函数设计(1)订票系统主菜单函数MENU_SELECT本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过SCANF接受,在通过SWTICH判断进入各个选择项。(2)工作人员管理函数ENTER/编号/CHARID20/证件号/CHARNAME10/姓名/INTCOUNT/订票数/CHARFLIGHTNAME10/乘坐航班号/GUEST/航班信息/TYPEDEFSTRUCTCHARPLANENUMBER10/航班号/CHARTAKE_OFF_CITY20/起飞城市/CHARARRIVED_IN_CITY20/抵达城市/CHARTAKEOFF_TIME20/起飞时间/CHARLANDING_TIME20/降落时间/INTSHIPPING/舱位数/CHARPRICE5/票价/CHARDISCOUNT5/折扣/GUESTGUEST20INTSITFLY/菜单函数,函数返回值为整数,代表所选的菜单项/MENU_SELECTINTCPRINTF“按任意键返回主菜单N“/提示压任意键继续/GETCH/读入任意字符/PRINTF“WELCOMETONN“PRINTF“TICKETSBOOKINGSYSTEMNN“PRINTF“MENUNN“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“NN“DOPRINTF“N输入你的选择项09“/提示输入选项/SCANF“D“,/输入选择项/WHILEC9/选择项不在9之间重输/RETURNC/返回选择项,主程序根据该数调用相应的函数/输入函数/INTENTERFLYTINTI,K,N,M,W,JCHARSPRINTF“输入航线总数N40|NN1/如果整数I值大于N1,说明没找到/PRINTF“没有找到N“ELSEPRINTF“航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣N“/显示记录/PRINTF“N“PRINTF“12S12S10S12S10S7D7S7SN“,TIPLANENUMBER,TITAKE_OFF_CITY,TIARRIVED_IN_CITY,TITAKEOFF_TIME,TILANDING_TIME,TISHIPPING,TIPRICE,TIDISCOUNT/按起降城市查找记录/VOIDSEARCH2FLYT,INTNCHARS120CHARS220INTIPRINTF“输入起飞城市名称“SCANF“S“,S1/输入起飞城市名/PRINTF“输入降落城市名称“SCANF“S“,S2/输入降落城市名/FORI0IN1/如果整数I值大于N1,说明没找到/PRINTF“没有找到N“ELSEPRINTF“航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣N“/找到,显示记录/PRINTF“N“PRINTF“12S12S10S12S10S7D7S7SN“,TIPLANENUMBER,TITAKE_OFF_CITY,TIARRIVED_IN_CITY,TITAKEOFF_TIME,TILANDING_TIME,TISHIPPING,TIPRICE,TIDISCOUNT/订票/VOIDBOOKFLYT,INTNCHARS20,NUMBER110,NAME110,ID120,FLIGHTNAME110INTI,J0,M,K,COUNT1PRINTF“输入你想预订的票数“SCANF“D“,PRINTF“号码姓名证件号订的票数航班号N“/提示信息/PRINTF“N“FORK0KN1/如果整数I值大于N1,说明没找到/PRINTF“对不起没有此航班N“MM2K/退票/VOIDQUITFLYT,INTNCHARS120,S220/保存待查找航班名和证件号字符串/INTI,K,J,H,L,CHPRINTF“请输入你想退订的航班号“SCANF“S“,S1/输入待查找航班名/PRINTF“请输入你的证件号“SCANF“S“,S2/输入待查找证件号/PRINTF“号码姓名证件号订的票数航班号N“/显示提示/PRINTF“N“FORI0IN1/如果整数I值大于N1,说明没找到/PRINTF“没有找到N“ELSEPRINTF“你是否确认删除1/0N“/确认是否要删除/SCANF“D“,/输入一个整数或/IFCH1/如果确认删除整数为/FORKL1KN1/如果整数I值大于N1,说明没找到/PRINTF“没有找到N“ELSEPRINTF“航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣N“/找到,显示原先记录/PRINTF“N“PRINTF“12S12S10S12S10S7D7S7SN“,TIPLANENUMBER,TITAKE_OFF_CITY,TIARRIVED_IN_CITY,TITAKEOFF_TIME,TILANDING_TIME,TISHIPPING,TIPRICE,TIDISCOUNTPRINTF“PLEASEINPUTTHENEWINFORMATIONN“SCANF“S“,TIPLANENUMBER/输入航班名/SCANF“S“,TITAKE_OFF_CITY/输入起始城市/SCANF“S“,TIARRIVED_IN_CITY/输入终点城市/SCANF“S“,TITAKEOFF_TIME/输入起飞时间/SCANF“S“,TILANDING_TIME/输入降落时间/SCANF“D“,TISHIPPING/输入座位号/SCANF“S“,TIPRICE/输入票价/SCANF“S“,TIDISCOUNT/输入折扣/保存资料/VOIDSAVEFLYT,INTNINTI,JFILEFP/指向文件的指针/IFFPFOPEN“RECORD1TXT“,“WB“NULL/打开文件,并判断打开是否正常/PRINTF“CANNOTOPENFILEN“/没打开/EXIT1/退出/PRINTF“N保存文件N“/输出提示信息/FPRINTFFP,“D“,N/将记录数写入文件/FPRINTFFP,“RN“/将换行符号写入文件/FORI0IINCLUDEINCLUDEDEFINEMAX_VERTEX_NUM50/图的最大顶点数DEFINEMAXQSIZE200/队列的最大容量ENUMBOOLFALSE,TRUE/定义枚举变量TYPEDEFSTRUCTARCNODE/图的邻接表存储INTADJVEX/该弧所指向的顶点的位置STRUCTARCNODENEXTARC/指向下一条弧的指针ARCNODE/弧结点TYPEDEFSTRUCTARCNODEADJLISTMAX_VERTEX_NUM/指向第一条依附该顶点的弧的指针INTVEXNUM,ARCNUM/图的当前顶点和弧数GRAPHTYPEDEFSTRUCT/队列结构INTELEMMAXQSIZE/数据域INTFRONT/队头指针INTREAR/队尾指针SQQUEUEBOOLVISITEDMAX_VERTEX_NUM/全局变量访问标志数组VOIDCREATEGRAPHGRAPH/生成图的邻接表VOIDDFSTRAVERSEGRAPH/深度优先搜索遍历图VOIDDFSGRAPH,INTVOIDBFSTRAVERSEGRAPH/广度优先搜索遍历图VOIDINITIALSQQUEUE/初始化一个队列BOOLQUEUEEMPTYSQQUEUE/判断队列是否空BOOLENQUEUESQQUEUE/将一个元素入队列BOOLDEQUEUESQQUEUE/将一个元素出队列INTFIRSTADJVEXGRAPH,INT/求图中某一顶点的第一个邻接顶点INTNEXTADJVEXGRAPH,INT,INT/求某一顶点的下一个邻接顶点INTMAINGRAPHG/采用邻接表结构的图CHARJYPRINTF“题目编制一个“图遍历的演示”的程序N“/程序解说PRINTF“N本程序将演示生成一个图,并对它进行遍历N“PRINTF“输入图的顶点数和弧数N格式顶点数,弧数;例如5,4N“PRINTF“接着输入各边弧尾,弧头N例如5,3N3,1N1,2N2,4N“PRINTF“程序会生成一个图,并对它进行深度和广度遍历N“PRINTF“深度遍历12435N广度遍历12345N“/WHILEJNSCANF“D,D“,/输入图的顶点数和弧数CREATEGRAPHG/生成邻接表结构的图DFSTRAVERSEG/深度优先搜索遍历图BFSTRAVERSEG/广度优先搜索遍历图PRINTF“图遍历完毕,继续进行吗Y/N“SCANF“C“,VOIDCREATEGRAPHGRAPHINTSTART,ENDARCNODESFORI1INEXTARCGADJLISTSTART/插入到邻接表中SADJVEXENDGADJLISTSTARTSSARCNODEMALLOCSIZEOFARCNODESNEXTARCGADJLISTENDSADJVEXSTARTGADJLISTENDSVOIDDFSTRAVERSEGRAPHG/深度优先遍历图GINTIPRINTF“深度优先遍历“FORI1I“,IFORWFIRSTADJVEXG,IW0WNEXTADJVEXG,I,WIFVISITEDWDFSG,W/对尚未访问的邻接顶点W调用DFSVOIDBFSTRAVERSEGRAPHG/按广度优先非递归的遍历图G,使用辅助队列Q和访问标志数组VISITEDINTI,U,WSQQUEUEQPRINTF“广度优先遍历“FORI1I“,IENQUEUEQ,I/将序号I入队列WHILEQUEUEEMPTYQ/若队列不空,继续DEQUEUEQ,U/将队头元素出队列并置为UFORWFIRSTADJVEXG,UW0WNEXTADJVEXG,U,WIFVISITEDW/对U的尚未访问的邻接顶点W进行访问并入队列VISITEDWTRUEPRINTF“D“,WENQUEUEQ,WPRINTF“BBN“INTFIRSTADJVEXGRAPHG,INTV/在图G中寻找第V个顶点的第一个邻接顶点IFGADJLISTVRETURN0ELSERETURNGADJLISTVADJVEXINTNEXTADJVEXGRAPHG,INTV,INTU/在图G中寻找第V个顶点的相对于U的下一个邻接顶点ARCNODEPPGADJLISTVWHILEPADJVEXUPPNEXTARC/在顶点V的弧链中找到顶点UIFPNEXTARCNULLRETURN0/若已是最后一个顶点,返回ELSERETURNPNEXTARCADJVEX/返回下一个邻接顶点的序号VOIDINITIALSQQUEUEBOOLQUEUEEMPTYSQQUEUEQ/判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医药拉丁语试题及答案
- 中医学眩晕试题及答案
- 中医思维方法试题及答案
- 期权考试题及答案
- 配电题库及答案解析
- 2025年射频识别(RFID)技术在工业互联网平台下的设备状态监测与预警研究报告
- lazada培训题目及答案
- 计量工基础试题及答案
- 2025年国开电大国际私法论述案例题题库含答案
- 人工智能训练师(5级)操作技能复习题及答案
- 《震击器分类大全》
- 网络预约出租汽车经营服务概述模板
- 2023中国暴雨强度公式汇总
- 心肺复苏+AED操作考核评分表
- 4-6预拌混凝土现场坍落度测试记录
- 天文仪器商业计划书
- GB/T 6892-2023一般工业用铝及铝合金挤压型材
- 2023年建筑工程施工现场安全管理资料全套样本方案模板
- 开展学制度懂规矩守纪律精业务活动动员会讲话
- 妊娠期合并症-心脏病的护理(妇产科学课件)
- 急救护理学高职PPT完整全套教学课件
评论
0/150
提交评论