课程设计数据结构课程设计(c语言版)飞机订票系统_第1页
课程设计数据结构课程设计(c语言版)飞机订票系统_第2页
课程设计数据结构课程设计(c语言版)飞机订票系统_第3页
课程设计数据结构课程设计(c语言版)飞机订票系统_第4页
课程设计数据结构课程设计(c语言版)飞机订票系统_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言版课题飞机订票系统和图的遍历的动态演示姓名学号班级指导教师订票系统1需求分析任务通过此系统可以实现如下功能录入可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;(订票情况可以存在一个数据文件中,结构自己设定)订票可以订票,如果该航班已经无票,可以提供相关可选择航班;退票可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息当航班信息改变可以修改航班数据文件要求根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2主要设计思路1)算法构造流程图A主菜单主菜单0123456789输列出按航按订票退票修改保存读取退出入航班班号城程序系统飞机文件文航的信查询市航班件、班息航班来的信下载的信息查息文件信询息航班B各分块模板的构造流程图0输入航班的信息航班起飞城降落城出发时降落时剩下的座价折号市市间间位格扣1列出航班的信息继续Y退出N2按航班号查询航班信息输入所需要查询的航班号显示这个航班的的信息3按城市来查询航班输入起飞城市输入降落城市显示这个航班的信息4订票程序输入号码输入名字输入ID需要定的票航班号数5退票系统输入航班号输入你ID确定退票1否定06修改飞机航班的信息输入要修改的航班号重新输入新的航班信息7保存文件显示保存成功3功能函数设计订票系统主菜单函数(1)MENU_SELECT本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过SCANF接受,在通过SWTICH判断进入各个选择项。工作人员管理函数ENTERAMPCHANGE()(2)系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。ENTER()函数的构造就是为了解决这个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造CHANGE()函数。列出航班信息的函数LIST()(3)乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。(4)乘客具体查询函数SEARCH()本函数分两个分函数SEARCH1()和SEARCH2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。(5)票务管理函数BOOK()AMPQUIT()通过BOOK()函数可以实现乘客的订票操作,通过QUIT()可以实现乘客的退票操作。(6)文件操作函数SAVE()AMPLOAD()(WINTC下运行)3源程序代码INCLUDELTDOSHGTINCLUDELTSTDIOHGTINCLUDELTSTDLIBHGTINCLUDELTSTRINGHGTDEFINEN20DEFINEQ40/定义数据结构/乘客信息/TYPEDEFSTRUCTCHARNUMBER10/编号/CHARID20/证件号/CHARNAME10/姓名/INTCOUNT/订票数/CHARFLIGHTNAME10/乘坐航班号/GUEST/航班信息/TYPEDEFSTRUCTCHARPLANENUMBER10/航班号/CHARTAKE_OFF_CITY20/起飞城市/CHARARRIVED_IN_CITY20/抵达城市/CHARTAKEOFF_TIME20/起飞时间/CHARLANDING_TIME20/降落时间/INTSHIPPING/舱位数/CHARPRICE5/票价/CHARDISCOUNT5/折扣/GUESTGUEST20INTSITFLY/菜单函数,函数返回值为整数,代表所选的菜单项/MENU_SELECTINTCPRINTFQUOT按任意键返回主菜单NQUOT/提示压任意键继续/GETCH/读入任意字符/PRINTFQUOTWELCOMETONNQUOTPRINTFQUOTTICKETSBOOKINGSYSTEMNNQUOTPRINTFQUOTMENUNNQUOTPRINTFQUOT0输入航班信息NQUOTPRINTFQUOT1列出航班的信息NQUOTPRINTFQUOT2按航班号查询航班信息NQUOTPRINTFQUOT3按城市来查询航班NQUOTPRINTFQUOT4订票程序NQUOTPRINTFQUOT5退票系统NQUOTPRINTFQUOT6修改飞机航班的信息NQUOTPRINTFQUOT7保存文件NQUOTPRINTFQUOT8读取和下载文件NQUOTPRINTFQUOT9退出NQUOTPRINTFQUOTNNQUOTDOPRINTFQUOTN输入你的选择项09QUOT/提示输入选项/SCANFQUOTDQUOTAMPC/输入选择项/WHILECLT0CGT9/选择项不在9之间重输/RETURNC/返回选择项,主程序根据该数调用相应的函数/输入函数/INTENTERFLYTINTIKNMWJCHARSPRINTFQUOT输入航线总数NLT40QUOT/输入航线总数/SCANFQUOTDQUOTAMPNWHILENGT40NLT0PRINTFQUOT输入错误再次输入0LTNLT40QUOT/输入航线总数/SCANFQUOTDQUOTAMPNPRINTFQUOT输入航班的信息NNQUOT/提示信息/PRINTFQUOT航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣NQUOTPRINTFQUOTNQUOTFORI0ILTNISCANFQUOTSQUOTTIPLANENUMBER/输入姓名/SCANFQUOTSQUOTTITAKE_OFF_CITY/输入起飞城市/SCANFQUOTSQUOTTIARRIVED_IN_CITY/输入降落城市/SCANFQUOTSQUOTTITAKEOFF_TIME/输入起飞时间/SCANFQUOTSQUOTTILANDING_TIME/输入降落时间/SCANFQUOTDQUOTAMPTISHIPPING/输入舱位数/SCANFQUOTSQUOTTIPRICE/输入票价/SCANFQUOTSQUOTTIDISCOUNT/输入折扣/PRINTFQUOTNQUOTFORI0ILTNITISIT0RETURNN/返回记录条数/显示记录,参数为记录数组和记录条数/VOIDLISTFLYTINTNINTIPRINTFQUOT航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣NQUOTPRINTFQUOTNQUOTFORI0ILTNIPRINTFQUOT12S12S10S12S10S7D7S7SNQUOTTIPLANENUMBERTITAKE_OFF_CITYTIARRIVED_IN_CITYTITAKEOFF_TIMETILANDING_TIMETISHIPPINGTIPRICETIDISCOUNTPRINTFQUOTENDNQUOT/按航班号查找记录/VOIDSEARCH1FLYTINTNCHARS20/保存待查找航班名字符串/INTIPRINTFQUOT输入你想查找的航班名QUOTSCANFQUOTSQUOTS/输入待查找航班名/FORI0ILTNI/从第一条记录开始,直到最后一条/IFSTRCMPSTIPLANENUMBER0/记录中的航班名和待比较的是否相等/BREAK/相等,则返回该记录的下标号,程序提前结结束/IFIGTN1/如果整数I值大于N1,说明没找到/PRINTFQUOT没有找到NQUOTELSEPRINTFQUOT航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣NQUOT/显示记录/PRINTFQUOTNQUOTPRINTFQUOT12S12S10S12S10S7D7S7SNQUOTTIPLANENUMBERTITAKE_OFF_CITYTIARRIVED_IN_CITYTITAKEOFF_TIMETILANDING_TIMETISHIPPINGTIPRICETIDISCOUNT/按起降城市查找记录/VOIDSEARCH2FLYTINTNCHARS120CHARS220INTIPRINTFQUOT输入起飞城市名称QUOTSCANFQUOTSQUOTS1/输入起飞城市名/PRINTFQUOT输入降落城市名称QUOTSCANFQUOTSQUOTS2/输入降落城市名/FORI0ILTNI/从第一条记录开始,直到最后一条/IFSTRCMPS1TITAKE_OFF_CITY0AMPAMPSTRCMPS2TIARRIVED_IN_CITY0/记录中的城市和待比较的是否相等/BREAK/相等,则返回该记录的下标号,程序提前结结束/IFIGTN1/如果整数I值大于N1,说明没找到/PRINTFQUOT没有找到NQUOTELSEPRINTFQUOT航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣NQUOT/找到,显示记录/PRINTFQUOTNQUOTPRINTFQUOT12S12S10S12S10S7D7S7SNQUOTTIPLANENUMBERTITAKE_OFF_CITYTIARRIVED_IN_CITYTITAKEOFF_TIMETILANDING_TIMETISHIPPINGTIPRICETIDISCOUNT/订票/VOIDBOOKFLYTINTNCHARS20NUMBER110NAME110ID120FLIGHTNAME110INTIJ0MKCOUNT1PRINTFQUOT输入你想预订的票数QUOTSCANFQUOTDQUOTAMPMPRINTFQUOT号码姓名证件号订的票数航班号NQUOT/提示信息/PRINTFQUOTNQUOTFORK0KLTMKSCANFQUOTSQUOTNUMBER1SCANFQUOTSQUOTNAME1/输入订票客户姓名/SCANFQUOTSQUOTID1/输入证件号/SCANFQUOTDQUOTAMPCOUNT1/输入订票票数/SCANFQUOTSQUOTFLIGHTNAME1/输入航班号/FORI0ILTNI/从第一条记录开始,直到最后一条/IFSTRCMPFLIGHTNAME1TIPLANENUMBER0/记录中的航班名和待比较的是否相等/JTISITSTRCPYTIGUESTJNUMBERNUMBER1STRCPYTIGUESTJNAMENAME1STRCPYTIGUESTJIDID1TIGUESTJCOUNTCOUNT1STRCPYTIGUESTJFLIGHTNAMEFLIGHTNAME1TISHIPPINGTISHIPPINGCOUNT1TISITBREAK/相等,则返回该记录的下标号,程序提前结结束/IFIGTN1/如果整数I值大于N1,说明没找到/PRINTFQUOT对不起没有此航班NQUOTMM2K/退票/VOIDQUITFLYTINTNCHARS120S220/保存待查找航班名和证件号字符串/INTIKJHLCHPRINTFQUOT请输入你想退订的航班号QUOTSCANFQUOTSQUOTS1/输入待查找航班名/PRINTFQUOT请输入你的证件号QUOTSCANFQUOTSQUOTS2/输入待查找证件号/PRINTFQUOT号码姓名证件号订的票数航班号NQUOT/显示提示/PRINTFQUOTNQUOTFORI0ILTNI/从第一条记录开始,直到最后一条/FORJ0JLTTISITJIFSTRCMPS1TIGUESTJFLIGHTNAME0AMPAMPSTRCMPS2TIGUESTJID0PRINTFQUOT11S16S16S14D10SNQUOTTIGUESTJNUMBERTIGUESTJNAMETIGUESTJIDTIGUESTJCOUNTTIGUESTJFLIGHTNAMETISHIPPINGTISHIPPINGTIGUESTJCOUNTLJHIBREAKIHIFIGTN1/如果整数I值大于N1,说明没找到/PRINTFQUOT没有找到NQUOTELSEPRINTFQUOT你是否确认删除1/0NQUOT/确认是否要删除/SCANFQUOTDQUOTAMPCH/输入一个整数或/IFCH1/如果确认删除整数为/FORKL1KLTTISITKSTRCPYTIGUESTK1NUMBERTIGUESTKNUMBER/将后一条记录的姓名拷贝到前一条/STRCPYTIGUESTK1NAMETIGUESTKNAMESTRCPYTIGUESTK1IDTIGUESTKIDTIGUESTK1COUNTTIGUESTKCOUNTSTRCPYTIGUESTK1FLIGHTNAMETIGUESTKFLIGHTNAMETISITPRINTFQUOT退票成功NQUOT/提示退票成功/修改航班信息/VOIDCHANNGEFLYTINTNCHARS20/要删除记录的姓名/INTIJPRINTFQUOT请输入你要修改的航班号QUOT/提示信息/SCANFQUOTSQUOTS/输入航班名/FORI0ILTNI/从第一条记录开始,直到最后一条/IFSTRCMPSTIPLANENUMBER0/记录中的航班名和待比较的是否相等/BREAK/相等,则返回该记录的下标号,程序提前结结束/IFIGTN1/如果整数I值大于N1,说明没找到/PRINTFQUOT没有找到NQUOTELSEPRINTFQUOT航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣NQUOT/找到,显示原先记录/PRINTFQUOTNQUOTPRINTFQUOT12S12S10S12S10S7D7S7SNQUOTTIPLANENUMBERTITAKE_OFF_CITYTIARRIVED_IN_CITYTITAKEOFF_TIMETILANDING_TIMETISHIPPINGTIPRICETIDISCOUNTPRINTFQUOTPLEASEINPUTTHENEWINFORMATIONNQUOTSCANFQUOTSQUOTTIPLANENUMBER/输入航班名/SCANFQUOTSQUOTTITAKE_OFF_CITY/输入起始城市/SCANFQUOTSQUOTTIARRIVED_IN_CITY/输入终点城市/SCANFQUOTSQUOTTITAKEOFF_TIME/输入起飞时间/SCANFQUOTSQUOTTILANDING_TIME/输入降落时间/SCANFQUOTDQUOTTISHIPPING/输入座位号/SCANFQUOTSQUOTTIPRICE/输入票价/SCANFQUOTSQUOTTIDISCOUNT/输入折扣/保存资料/VOIDSAVEFLYTINTNINTIJFILEFP/指向文件的指针/IFFPFOPENQUOTRECORD1TXTQUOTQUOTWBQUOTNULL/打开文件,并判断打开是否正常/PRINTFQUOTCANNOTOPENFILENQUOT/没打开/EXIT1/退出/PRINTFQUOTN保存文件NQUOT/输出提示信息/FPRINTFFPQUOTDQUOTN/将记录数写入文件/FPRINTFFPQUOTRNQUOT/将换行符号写入文件/FORI0ILTNIFPRINTFFPQUOTSSSSSDSSQUOTTIPLANENUMBERTITAKE_OFF_CITYTIARRIVED_IN_CITYTITAKEOFF_TIMETILANDING_TIMETISHIPPINGTIPRICETIDISCOUNTFPRINTFFPQUOTRNQUOT/将换行符号写入文件/FPRINTFFPQUOTDQUOTTISIT/将记录数写入文件/FPRINTFFPQUOTRNQUOT/将换行符号写入文件/FORJ0JLTTISITJFPRINTFFPQUOTSSSDSQUOTTIGUESTJNUMBERTIGUESTJNAMETIGUESTJIDTIGUESTJCOUNTTIGUESTJFLIGHTNAME/格式写入记录/FPRINTFFPQUOTRNQUOT/将换行符号写入文件/FCLOSEFP/关闭文件/PRINTFQUOT恭喜保存成功NQUOT/显示保存成功/读入函数,参数为结构体数组/INTLOADFLYTINTINJFILEFP/指向文件的指针/IFFPFOPENQUOTRECORD1TX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论