版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计-航班的信息系统目 录需求分析11.1系统主要功能11.2系统要求1 TOC o 1-5 h z 概要设计22.1系统功能模块图22.2算法设计:22.2.1录入模块 22.2.2订票退票模块 22.2.3查询修改模块32.3存储结构设计42.4 C语言描述 5详细设计63.1录入航班信息模块63.2订票模块63.3退票模块63.4查询航班模块63.6修改航线模块63.7保存退出模块6调试分析 7 用户说明13收获及体会13源代码141、需求分析1.1系统主要功能(1)录入:可以录入航班情况。(数据可以存储在一个数据文件中,数据结构、具体数 据自定)(2)查询:可以查询某个航线
2、的情况(如,输入航班号,查询起降时间,起飞抵达城市, 航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机 航班情况。(3)订票:可以订票,如果该航班已经无票,可以提供相关可选择航班。(订票情况可 以存在一个数据文件中,结构自己设定)(4)退票:可以退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量 及航班情况,订单要有编号。(5)修改航班信息:当航班信息改变可以修改航班数据文件。1.2系统要求首先录入航班的信息:包括航班号,查询起降时间,起飞抵达城市,航班票 价,票价折扣,确定航班是否满仓。根据提示完成相应的要求如:查询航班、订 票、退票、修改航班等。航班信息如
3、表1.1所示。订票客户的信息也录入其中如: 姓名,证件号,订票数量及航班情况。所有信息根据数据可以存储在一个数据文 件中,数据结构、具体数据自定。客户信息如表1.2所示。表1.2客户信息航班号 姓名 证件号 订票数 票价MU5138张三 72013141375表1.1航班信息航班号起飞时间降落时间起飞城市降落城市票价 折扣是 否满仓CN8963 12:00 13:00 郴州 长沙125 7.5 否MU456714:00 15:00 北京上海 355 3.3 否CN1234 9:0011:00 武汉长沙 215 3.5是概要设计2.1系统功能模块图图2.1主程序流程图2.2算法设计:2.2.1录
4、入模块查找单链表的链尾,在链尾插入一个“航班信息”的新结点。流程图如2.2.1 所示。2.2.2订票退票模块(1)订票模块:输入起飞到达城市显示录入航班信息,查找乘客要订的班 号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。(2)退票模块:输入要退票的乘客姓名以及证件号码,查找乘客资料的链 表中是否有这位乘客,有则删去此结点,无则退票失败。流程图如图2.2.2所示。2.2.3查询修改模块(1)查询模块:提供两种查方式:按航号和按航线查询,1代表按航号查 询,2代表按航线查询。3则表示浏览全部航班信息。顺着单链表查找,如果与 航班号(航线)一致,输出相关信息,否则,查询不成功
5、。(2)修改模块: 在航线信息修改菜单中选择修改内容,若存在修改航班, 则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。流程图如 2.2.3所示。图2.2录入航线的流程图NY图2.3订票退票流程图2.4修改航班流程图2.3存储结构设计航班的信息:为了便于查找和修改,航班的情况存储结构采用单链表, 如图2.3所示结构每个元素表示一个航班的情况,包括航班号,查询起降时间, 起飞抵达城市,航班票价,票价折扣,是否满仓。旅客的资料:为了便于插入、删除和修改,其采用单链表存储结构, 每个数据元素包括姓名、证件号码、航班号、订票数和票价。图2.3单链表存储结构2.4 C语言描述typedef
6、struct flightnodechar flight_num10; 航班号char start_time10; 降落时间char end_time10; /起飞时间char start_place20; /出发点char end_place20;/到达点int left;/余座位数float price; /票价float price_discount;/折扣int isFull;/票的余额struct flightnode *next;*flightlist;typedef struct passengernodechar name20;/订票人的姓名char ID_num20;/订票人
7、的证件号char flight_num10;/航班号char order_num;/订单号int ticket_num;/订单数量struct passengernode *next;/指向下一个结点*passengerlist;/客户结点typedef struct pnode passengerlist head;passengerlist rear;*plist;详细设计3.1录入航班信息模块在键盘上输入航班的基本信息,对它们输入后,要存进原文件,采用fprintf 函数来实现该功能。再用户输入完成后,程序会询问是否继续输入,这个功能更 具人性化,可以省去返回到主函数在进入这个函数的麻烦
8、!3.2订票模块按照起始站跟终点站查询票,并且查看是否还有票,带订票成功之后还要把 信息重新写入文件中。3.3退票模块按照客户姓名、证件号进行查询,一旦查到就退票,然后重新把信息写入文 件。3.4查询航班模块基本信息的查询按查询可供选择的方式比较丰富,可按航班号、起飞抵达城 市查询。在查询小模块中采用了直接查找的方法。还可以直接浏览全部航班信息。3.5查询订单模块与航班信息查询相同,订单可按客户姓名和证件号、订单号查询。3.6修改航线模块修改包括增加航班,删除航班和修改航班时间。修改航班时间按照航班号查 询到航班进行修改。航班起飞抵达城市不变若要修改可通过取消即删除航班或增加航班来修改。3.7
9、保存退出模块完成前面各项操作之后,数据保存至文件中退出系统。调试分析开始时程序能执行,但是有些功能不够完善。后来经过修改逐渐得到完善。我们用到单链表的存储结构,由于对链表的性质和用法不够清晰在编写程 序的时候出现了许多错误,对于要求实现的功能达不到要求。经过看书和跟其他 同学讨论,都逐渐得到解决。输入的航班信息、客户信息保存到文件中。开始时我们使用的是fprintf 函数输入文件始终不能写入到文件中。后来经过看书讨论将其改为fscanf函数 后解决了这个问题。录入信息后,显示录入信息后面两项出现乱码,后来进过修改发现在写程 序的时候将格式不对,整形输出弄成了字符串。经过修改后得到了解决。其中还
10、遇到了许多错误,例如未定义使用、书写错误等。经过修改都得到 了解决。图4.1主界面图4.2录入航班信息图4.3订票图4.4按航班号查询图4.5按起飞抵达城市查询图4.6浏览全部航班信息图4.7按客户姓名和证件号查询订单图4.8按订单号查询订单图4.9退票图4.10修改航班信息图4.11退出界面用户说明运行环境vc+6.0用户界面操作过程:进入主界面,按照提示可以完成录入、订退票、查询航班和订 单、修改等功能。各功能数据测试输出的功能如图4.1、图4.2、图4.3、图4.4、 图 4.5、图 4.6、图 4.7、图 4.8、图 4.9、图 4.10、图 4.11。收获及体会我负责的模块是修改和保
11、存这2个部分,在修改程序中,我直接借鉴了书中 例题 2.1 中算法中插入的做法 void modify_flight flightlist &h,plist PList,而后用到了 if语句来进行增加,删除,修改航班的操作的选择,再用 for循环跟if语句对修改后的起飞和抵达时间进行核对和插入。而在这个保存 程序中只用了 c+里面的方式FILE *fp fopen flightList.txt,w ;用写入 的方式将文件保存到flightList.txt中。在这次课程设计中体会到了数据结构 中算法的用法,又回顾了前面的知识,让我懂得了团队合作的重要性。这次课程设计我担任组长负责录入航班信息、订
12、票、链表的初始化以及排版。 对我来说是一次很好的锻炼。我了解到了自己的不足之处,同时巩固和加深了对 数据结构的理解,提高了综合运用本课程所学知识的能力。认识到了算法的重要 性,通过这次课程设计我了解到,只有好的算法才能写出好的程序。要提高自己 的编程能力,就必须亲自去体验。即使会出现许多的错误也是会有收获的,至少 能够加深巩固对知识点的掌握,锻炼了逻辑思维能力。这次课程设计让我受益匪 浅。在这次数据结构课程设计中,我负责的模块是订单查询和航班查询。此模块 是最接近用户需求的模块,也是我们课程设计系统非常有价值的功能模块。其中 用了大量的For循环和If语句的嵌套使用,让我的逻辑思维得到很大的提
13、升。 查询功能就避免不了许多字符串比较Strcmp函数,让我懂得了字符串的具体结 构和操作算法。我真正意义上的体会到了团队合作的力量,我们有着十分负责、细心的 组长带领我们团体不断进步,还有一群努力不懈的组员。当我遇到语法或逻辑错 误时候,组员和组长都会给予我及时的帮助,让我少走弯路。所谓三个臭皮匠赛 过诸葛亮。在我们的共同努力之下,终于得到了满意的成果。这次数据结构课程设计并非仅仅为了熟练语言技巧,而是锻炼我们的思 维逻辑能力。我感觉到了我的思维得到了很大的提升。现在我能够有自己的思维 想法,而不是敲键盘的木头人。我非常感谢这次课程设计给予的宝贵机会,这必 定是我人生道路上的一次不可磨灭的经
14、历。我负责的是退票函数cancel需要调用delete_passenger ,主函数,结 构体的定义等,通过本次课程设计,我学到了很多,我感觉到理论永远比不上实 践。在我负责的这一模块当中,我遇到了很多的问题,比如结构体的定义,在编 写退票模块代码时,设计先输入退票先比较航班号是否相同,然后指针慢慢移动。 由于我对while()循环条件没有设置好,结果总是达不到想要的效果,同时在 主函数的调用方面我还是有些模糊,有很多地方需要改进,但是在同组同学的帮助下,有些问题慢慢得到了解决,我体会到团体合作的重要性。这次课程设计的 最大问题就是对基础知识的掌握不足,不能熟练的把学过的知识串联起来,头脑 不
15、灵活,考虑不全面。根据我在设计中遇到的题,我将在以后的的学习过程中注 意以下方面:1,、认真上好专业课,多在实践中锻炼自己。2、写程序的过程中 要考虑周到点,严密些。3、在做设计的时候要有耐心,切勿浮躁。4、在课余时 间多写程序,熟练掌握在调试程序的过程中遇到的常见错误,以便能节省调试程 序的时间。虽然在应用中显得很不自如,但是我渐渐体会到了编程的快乐,特别 是在经过一次次的改代码过后运行出结果后。在学习数据结构时总是分不清它与 C语言的区别,总觉得算法就是程序,然而通过这次课程设计,我渐渐明白了, 其实算法是解决问题的思想,而程序是算法的代码实现,算法要靠程序来完成功 能,程序需要算法作为灵
16、魂,两者间相互联系,密不可分。源代码#include#include#include#includetypedef struct flightnodechar flight_num10; 航班号char start_time10; 降落时间char end_time10; /起飞时间char start_place20; /出发点char end_place20;/到达点int left;/余座位数float price; /票价float price_discount;/折扣int isFull;/票的余额struct flightnode *next;*flightlist;typedef
17、 struct passengernodechar name20;/订票人的姓名char ID_num20;/订票人的证件号char flight_num10;/航班号char order_num;/订单号int ticket_num;/订单数量struct passengernode *next;/指向下一个结点*passengerlist;/客户结点typedef struct pnodepassengerlist head;passengerlist rear;*plist;void init_flight flightlist &h /目的是要建立一个以h为头结点的空链表,录入航班信息
18、和增加航班后降航班结点插入该链表h flightlist malloc sizeof flightnode ;/ 申请头结点的空间 if h NULL exit 0 ;h- next NULL;/将头结点h的指针域置为空void init_passengerList plist &pListpList plist malloc sizeof pnode ;pList- head passengerlist malloc sizeof passengernode ;/创建 头结点pList- rear pList- head;pList- rear- order_num 0;/订单从 0 开始计
19、数pList- head- next NULL;void save_passenger plist PListFILE *fp fopen passenger.txt,w ;if fp NULLreturn;passengerlist temp PList- head- next;while temp! NULLfprintf fp,%s%s%s%s%dn,temp- name,temp- ID_num,tempflight_num,temp- order_num,temp- ticket_num ;temp temp- next;fclose fp ;void load_passenger
20、plist &PListFILE *fp fopen passenger.txt,r ;if fp NULLreturn;passengerlist q;int n;while !feof fpq passengerlist malloc sizeof passengernode ;n fscanf fp,%s %s %s %s %d”,&q- name,&q- ID_num,&q- flight_num,&q- order_num,&q- ticket_num ;if n! 1break;PList- rear- next q;PList- rear q;PList- rear- next
21、NULL;fclose fp ;void save_flight flightlist hFILE *fp fopen flightList.txt,w ;if fp NULLreturn;flightlist temp h- next;while temp! NULLfprintf fp,%s %s %s %s %s %d %f %f %dn”,temp- flight_num,temp- start_time,temp- end_time,temp- start_place,temp- end_place,temp- left,temp- price,temp- price_discoun
22、t,temp- isFull ;temp temp- next;fclose fp ;void load_flight flightlist &hflightlist pt h;FILE *fp fopen flightList.txt,r ;if fp NULLreturn;flightlist q;int n;while !feof fpq flightlist malloc sizeof flightnode ;n fscanf fp,s%s%s%s%s%d%f%f%d,&q- flight_num,&q- start_time,&q- end_time,&q- start_place,
23、&q- end_place,&q- left,&q- price,&q- price_discount,&q- isFull ;if n! 1break;pt- next q;pt q;pt- next NULL;fclose fp ;int find_same_flight flightlist h,char *flight_num /航班查询flightlist t h- next,p h- next;int mark 0;printf -8s%-11s%-12s%-10s%-10s%-8s%-6s%-10s%-8sn, 航班号,起飞城市,抵达城市,起飞时间,抵达时间,价格,折扣,是否仓满
24、, 空座数;while t! NULL&strcmp t- flight_num,flight_num ! 0 t t- next;while p! NULLif strcmp t- start_place,p- start_place 0 & strcmp t- end_place,p- end_place 0 & strcmp t- flight_num,p- flight_num ! 0printf -8s%-12s%-12s%-10s%-10s%-8.2f%-6.2f%-10d%-8dn,p- flight_num,p- start_place,p- end_place,p- star
25、t_time,p- end_time,p- price,p- price_discount,p- isFull,p- left ;mark 1;p p- next;if mark 0printf tt抱歉,没有可选航班!n”;return 0;return 1;void insert_flight flightlist &h,char *flight_num,char*start_place,char *end_place,char *start_time,char *end_time,int left, float price,float price_discount,int isFull在
26、录入航班情况或增加新的航班后,将新的航班结点插入到航线链表中flightlist q;/定义q为新增加的航班结点的指针的形参 flightlist p h;q flightlist malloc sizeof flightnode ;为 q 结点申请空间 strcpy q- flight_num,flight_num ;strcpy q- start_place,start_place ;strcpy q- end_place,end_place ;strcpy q- start_time,start_time ;strcpy q- end_time,end_time ;q- left lef
27、t;q- price price;q- price_discount price_discount;q- isFull isFull;/以上是用strcpy函数将新增加航班的各种信息复 制到q结点中q- next p- next;/将q结点的指针域置为空 p- next q;p p- next; 将指针后移/ save_flight flight ;void insert_passengerList flightlist &h,plist &PList,char *name,char *ID_num,char *flight_num,int ticket_num /购票人的信息flightli
28、st p h- next;for ;p! NULL;p p- nextif strcmp p- flight_num,flight_num 0p- left p- left-ticket_num;if p- left 0p- isFull 1;passengerlist q passengerlist malloc sizeof passengernode ;/ 建立新结点,存放新的客户订单信息strcpy q- name,name ;strcpy q- ID_num,ID_num ;strcpy q- flight_num,flight_num ;q- ticket_num ticket_n
29、um;q- next NULL;/将新订单连接到链表中PList- rear- next q;q- order_num PList- rear- order_num+1;/生成订单号PList- rear q;/ save_passenger PList ;void delete_flight flightlist &h,plist &PList 删除航班号flightlist p,pr;passengerlist q,qr;char flight_num10;int mark 1;qr PList- head;/pr为顾客链接表的的头结点q qr- next;pr h;p pr- next;
30、/用p作为中间指针对顾客链表中要删除的顾客结点进行查 找printf tt请你输入你要删除的航班号:;scanf s,flight_num ;while p! NULL 要删除的航班存在,下面进行删除操作if strcmp flight_num,p- flight_num 0pr- next p- next;/移动指针找着要删除的航班结点free p ;/删除操作 printf tt 删除s 航班成功!n”,flight_num ;mark 0;p NULL;if pr- next! NULLpr pr- next;p pr- next;if mark 1printf tt无此航班,无法删除!
31、n”;elsewhile q! NULL 要删除的顾客存在,下面进行删除操作if strcmp flight_num,q- flight_num 0qr- next q- next;/移动指针找着要删除的顾客结点 free q ;q NULL;if qr- next! NULLqr qr- next;q qr- next;int delete_passenger plist &PList,flightlist &h,char *name,char *ID_num 退票操作passengerlist p,pr PList- head;/pr 指向顾客链表的头结点 p pr- next;int i
32、;while p! NULLif strcmp name,p- name 0&strcmp ID_num,p- ID_num 0for flightlist f h- next;f! NULL;f f- nextif strcmp p- flight_num,f- flight_num 0f- left f- left+p- ticket_num;f- isFull 0;break;pr- next p- next;free p ;printf tt顾客名s,证件s退票成功!n”, name,ID_numprintf 按 1 返回;scanf %d,&i ;if i 1return 1;pr
33、pr- next;p pr- next;printf tt无此顾客,无法退票!n”;printf 按 1 返回;scanf %d,&i ;if i 1return 1;void add_flight flightlist &h / 录入信息 flightlist p h;charflight_num10,start_time10,end_time10,start_place20,end_place 20;int left,isFull 1,mark 1;float price,price_discount;for ;p- next! NULL;p p- next/移动指针,找到最后一个结点wh
34、ile mark 1printf tt请输入你要增加的航班号:;scanf %s,flight_num ;printf tt请输入出发地:;scanf %s,start_place ;printf tt请输入目的地:;scanf %s,end_place ;printf tt请输入起飞时间:;scanf %s,start_time ;printf tt请输入抵达时间:;scanf %s,end_time ;printf tt请输入票价:;scanf f,&price ;printf tt请输入折扣:;scanf f,&price_discount ;printf tt请输入余座位数:;scan
35、f %d,&left ;if left 0 isFull 0;insert_flightp,flight_num,start_place,end_place,start_time,end_time,left,price,pri ce_discount,isFull ;printf tt 增加航班,成功!n”,flight_num ;printf tt是否继续录入航班信息1表示继续录入;0表示停止录 入 n;printf tt 请输入:n”;scanf %d,&mark ;int flight_num_check flightlist h,char *flight_num /选择航班号进 行查询
36、flightlist p h;int i;printf -8s%-11s%-11s%-10s%-10s%-8s%-6s%-10s%-8sn, 航班号,起飞城市,抵达城市,起飞时间,抵达时间,价格,折扣,是否仓满,空座数;for ;p! NULL;p p- nextif strcmp p- flight_num,flight_num 0printf -8s%-12s%-12s%-10s%-10s%-8.2f%-6.2f%-10d%-8dn,p- flight_num,p- start_place,p- end_place,p- start_time,p- end_time,p- price,p-
37、 price_discount,p- isFull,p- left ;printf tt输入i为1返回;scanf %d,&i ;if i 1return 1;printf tt抱歉,没有航班号为%,的航班信息!n”,flight_num ;printf tt输入i为1返回;scanf %d,&i ;if i 1return 0;int place_check flightlist h,char *start_place,char *end_place /选择起飞抵达城市进行查询flightlist p h;int mark 0,i;printf -8s%-11s%-11s%-10s%-10s
38、%-8s%-6s%-10s%-8sn, 航班号,起飞城市,抵达城市,起飞时间,抵达时间,价格,折扣,是否仓满,空座数;for ;p! NULL;p p- nextif strcmp p- start_place,start_place 0&strcmp p-end_place,end_place 0printf-8s%-12s%-12s%-10s%-10s%-8.2f%-6.2f%-10d%-8dn,p- flight_num,p- start_place,p- end_place,p- start_time,p- end_time,p- price,p- price_discount,p-
39、isFull,p- left ;printf tt输入i为1返回;scanf %d,&i ;if i 1mark 1;if mark 0printf tt 抱歉没有从%s到%s的航班信 息!n”,start_place,end_place ;printf tt输入i为1返回;scanf %d,&i ;if i 1return 0;return 1;void check_all_flight flightlist h /浏览全部航班信息flightlist p h;int m 0,i;printf -8s%-11s%-12s%-10s%-10s%-8s%-6s%-10s%-8sn, 航班号 ,起
40、飞城市,抵达城市,起飞时间,抵达时间,价格,折扣,是否仓满,空座数for p;p! NULL;p p- next printf-8s%-12s%-12s%-10s%-10s%-8.2f%-6.2f%-10d%-8dn,p- flight_num,p- start_place,p- end_place,p- start_time,p- end_time,p- price,p- price_discount,p- isFull,p- left ; m 1;if m 0printf tt航班信息为空!n”;printf tt输入i为1返回;scanf %d,&i ;if i 1return ;voi
41、d flight_check flightlist h /查询航班flightlist p h- next;char flight_num10,start_place20,end_place20;int a;printf tt1请选择航班号进行查询:n”;printf tt2请选择起飞抵达城市进行查询:n”;printf tt3表示浏览全部航班信息.ntt请选择输入:scanf %d ,&a if a 1printf tt请输入航班号:;scanf %s,flight_num ;flight_num_check p,flight_num ;/选择航班号进行查询else if a 2printf
42、 tt请输入起飞城市:;scanf %s,start_place ;printf tt请输入抵达城市:;scanf %s,end_place ;place_check p,start_place,end_place ;/选择起飞抵达城市进行查 询else if a 3check_all_flight p ;/浏览全部航班信息elsereturn;int ID_name_check plist PList,char *name,char *ID_num /表示按客户姓名和证件号进行查passengerlist p PList- head- next;int mark 0,i;printf -8s
43、%-20s%-20s%T0s%-8sn, 订单号,姓名,证件号, 航班号,订单数量;for ;p! NULL;p p- nextif strcmp p- ID_num,ID_num 0&strcmp p- name,name 0printf %-8d%-20s%-20s%-10s%-8d%n,p- order_num,p- name,p- ID_num,p- flight_num,p- ticket_num ;mark 1;if mark 0printf tt抱歉,没有%s,%s的订单信息! n”,name,ID_num ;printf tt输入i为1返回;scanf %d,&i ;if i
44、1return 0;printf tt输入i为1返回;scanf %d,&i ;if i 1return 1;int order_num_check plist PList,int order_num /表示按订单号进行查 询passengerlist p PList- head- next;int i;printf -8s%-20s%-20s%T0s%-8s%n, 订单号,姓名,证件号, 航班号,订单数量;for ;p! NULL;p p- nextif p- order_num order_numprintf %-8d%-20s%-20s%-10s%-8d%n,p- order_num,p
45、- name,p- ID_num,p- flight_num,p- ticket_num ;printf tt输入i为1返回;scanf %d,&i ;return 1;printf tt抱歉,没有订单号为%d的订单信息!n”,order_num ;printf tt输入i为1返回;scanf %d,&i ;if i 1return 1;void check_all_passenger plist PList /表示查看全部订单信息passengerlist p PList- head- next;int m 0,i;printf -8s%-20s%-20s%T0s%-8s%n, 订单号,姓名
46、,证件号, 航班号,订单数量;for ;p! NULL;p p- nextprintf %-8d%-20s%-20s%-10s%-8d%n,p- order_num,p- name,p- ID_num,p- flight_num,p- ticket_num ;m 1;printf tt订单信息为空!n”;printf tt输入i为1返回;scanf %d,&i ;if i 1 return;void passenger_check plist PList /查询订单char name20,ID_num15;int order_num;int a;printf tt1表示按客户姓名和证件号进行查
47、:n”;printf tt2表示按订单号进行查询:n”;printf tt3表示查看全部订单信息ntt请选择输入:scanf %d,&a ;if a 1printf tt请输入客户姓名:;scanf %s,name ;printf tt请输入客户证件号:;scanf %s,ID_num ;ID_name_check PList,name,ID_num ;/表示按客户姓名和证件号进行查else if a 2printf tt请输入订单号:;scanf d,&order_num ;order_num_check PList,order_num ;/表示按订单号进行查询else if a 3chec
48、k_all_passenger PList ;/表示查看全部订单信息ntt请选择输入elsereturn;void modify_flight flightlist &h,plist PList /修改航班flightlist p h- next;char flight_num10,start_time10,end_time10;int a;printf tt* 航线信息修改 *n;printf tt*n;printf tt*增加航班*n;printf tt*删除航班*n修改航班时间-3*nprintf tt*n;printf tt 请选择:; if a 1add_flight h ;/增加航
49、班else if a 2delete_flight h,PList ;/删除航班else if a 3 /修改航班时间printf tt请输入要修改的航班号:;scanf %s,flight_num ;if flight_num_check p,flight_num 1printf tt请输入修改后的起飞时间:;scanf %s,start_time ;printf tt请输入修改后的抵达时间:;scanf %s,end_time ;for ;p! NULL;p p- nextif strcmp flight_num,p- flight_num 0strcpy p- start_time,st
50、art_timestrcpy p- end_time,end_time ;printf tt 航班s 时间修改成功!n”,flight_numelsereturn;int book flightlist &h,plist &PList /订票char name20;char ID_num20;char flight_num10;char start_place20;char end_place20;int ticket_num;int k,i;flightlist p h- next;printf tt 请输入信息!n”;printf tt请输入起飞城市:;scanf %s,start_pla
51、ce ;printf tt请输入抵达城市:;scanf %s ,end_place ;if place_check h,start_place,end_place 1printf tt 航班号:;scanf s,flight_num ;while flight_num NULLprintf 航班号不能为空!n ;printf tt 航班号:;scanf s,flight_num ;while p! NULLif strcmp p- flight_num,flight_num 0printf tt 姓名:;scanf s,name ;printf tt 证件号:;scanf s,ID_num ;printf -tt 订票数量:;scanf d,&ticket_num ;while name NULLprintf 客户姓名不能为空!n printf tt 姓名:;scanf %s,name ;while ID_num NULLprintf 客户证件号不能为空!n”;printf tt 证件号:;scanf s,ID_num ;while ticket_num 0printf 客户订票数量不能为空!n ;printf tt订票数量:侦;scanf d,&ticket_num ;if p- left 0&p- left tic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 种植土覆土绿化施工方案
- 《2025年度水电站施工合同履行监督及审计合同》3篇
- 金华海洋馆设计施工方案
- 二零二五年度离婚诉讼代理与调解合同3篇
- 二零二五年度个人债务转让及债务清偿方案合同4篇
- 二零二五年度建筑消防设施检测与验收合同3篇
- 二零二五版相邻工地塔吊施工安全保证合同6篇
- 二零二五版土地使用权转让居间合同范本(土地交易咨询顾问)3篇
- 二零二五年度个性化民居装修工程合同规范4篇
- 二零二五年度大型水箱采购合同范本3篇
- 体检科运营可行性报告
- 青光眼术后护理课件
- 设立工程公司组建方案
- 设立项目管理公司组建方案
- 《物理因子治疗技术》期末考试复习题库(含答案)
- 退款协议书范本(通用版)docx
- 薪酬战略与实践
- 焊锡膏技术培训教材
- 江苏省泰州市姜堰区2023年七年级下学期数学期末复习试卷【含答案】
- 答案之书(解答之书)-电子版精选答案
- 中国古代文学史 马工程课件(上)01总绪论
评论
0/150
提交评论