数据结构课程设计飞机订票系统设计与实现里面附有源代码.doc
《数据结构课程设计飞机订票系统设计与实现里面附有源代码.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计飞机订票系统设计与实现里面附有源代码.doc(54页珍藏版)》请在咨信网上搜索。
课 程 设 计 题目 飞机订票系统 院 系 ******* 专 业 *************** 姓 名 ****** 学 号 ********* 指 导 教 师 *** 2023年7月 1. 需求分析 1.1 问题描述 基于目前人们外出远行频繁,为方便乘客提前买票及优化飞机航空订票服务,需要开发一个飞机订票系统,此程序就是要实现航班情况的录入,查询,订票,退票以及航班的查询和修改等基本功能。本课程设计的题目为:飞机订票系统。 1.2 基本规定 1.2.1 输入的形式和输入值的范围 录入航班信息时,需要输入航班号,起降时间,起飞到达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表达已满仓,“0”表达没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表达继续录入航班信息,“0”表达停止录入航班信息)。 客户订票时,需要输入起飞到达城市,然后选择航班进行查询,选择航班时需要输入航班号,值为字符串。 客户退票时,需要输入姓名,证件号进行退票操作,值为字符串。 查询某个航班的情况时,需要输入航班号,值为字符串;在查询某个航线的情况时,还可以通过输入起飞到达城市来查询,值为字符串。 查询某个订单时,需要输入订单号,值为整型(int);或者需要输入客户姓名和证件号,值为字符串。 修改航班时,需要输入字符型数据选择进行何种修改操作;增长航班时,需要输入航班号,起降时间,起飞到达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表达已满仓,“0”表达没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表达继续录入航班信息,“0”表达停止录入航班信息);删除航班时,需要输入要删除的航班的航班号;修改航班时间时,需要输入要修改的航班的航班号,修改后的航班起飞时间和到达时间。 1.2.2 输出形式 在所有操作后的输出中都显示操作是否对的以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。 录入航班情况时,输出显示添加航班信息是否成功。 客户订票时,当客户输入起飞到达城市后,输出可供客户选择的航班信息;客户选择了航班后,输入提醒信息告知用户订票是否成功。 客户退票时,输出客户退票成功或者无此客户,无法退票。 查询航班时,输出显示相应的航班信息,或者输出提醒信息告知没有相应的航班信息。 查询订单时,输出显示相应的订单信息,或者输出提醒信息告知没有相应的订单信息。 修改航班时,输出相应的提醒的信息,提醒操作是否成功。 1.2.3 功能规定 (1)可以录入航班情况,数据存储在一个数据文献中; (2)可以查询某个航线的情况:输入航班号,查询起降时间,起飞到达城市,航班票价,票价折扣,拟定航班是否满仓;输入起飞到达城市,查询飞机航班情况; (3)可以订票,订票情况存在一个数据文献中(假如该航班已经无票,提供相关可选航班); (4)可退票并且退票后修改相关数据文献; (5)客户资料:姓名,证件号,订票数量及航班情况,订单要有编号; (6)修改航班信息,当航班信息改变可修改航班数据文献; (7)规定:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完毕功能。 2. 概要设计 2.1 数据结构 (1)航班的信息:航班的情况存储结构采用单链表,每个元素表达一个航班的情况,涉及航班号、起飞时间、降落时间、起飞城市、到达城市、航班票价、票价折扣、拟定航班是否满仓和空座数九个数据项: 航班号 起飞 时间 降落 时间 起飞 城市 到达 城市 航班 是否满仓 空座数 票价 票价 折扣 字符串 字符串 字符串 字符串 字符串 整数 (int) 整数 (int) 浮点数 (float) 浮点数 (float) 单链表如下: D1 D2 D3 ^ h 每个结点涉及数据域和指针域: 数据域 指针域 C语言描述如下: typedef struct flightnode{ char air_num[10];//航班号 char start_time[15];//起飞时间 char end_time[15];//到达时间 char start_place[20];//起飞城市 char end_place[20]; //降落城市 int left; //空座数 float price; //票价 float price_discount;//票价折扣 int isFull; //航班是否满仓 struct flightnode *next;//指向下一个结点 }flightnode;//航班结点 (2)客户的资料:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素涉及姓名、证件号、航班号、订票数量和订单号五个数据项: 姓名 证件号 航班号 订票数量 订单号 字符串 字符串 字符串 整数(int) 整数(int) 每个结点涉及数据域和指针域: 数据域 指针域 C语言描述如下: typedef struct passengernode{//定义客户资料结点 char name[20]; //姓名 char ID_num[20]; //证件号 char flight_num[10];//航班号 int order_num; //订单号 int ticket_num; //订票数量 struct passengernode *next;//指向下一个结点 }passengernode; (3)客户链表:每个数据元素涉及头指针和尾指针两个数据项: 每个结点涉及两个指针域: 头指针域 尾指针域 C语言描述如下: typedef struct passengerList{ passengernode *head; passengernode *rear; }passengerList; 2.2 程序模块 2.2.1 录入航班信息模块 void add_flight(flightnode *&h)调用void insert_flight(flightnode *&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)函数,将新航班结点插入航班链表中。 2.2.2 客户订票模块 int book(flightnode *&h,passengerList *&PList)函数调用int insert_passenger(passengernode *&h,char *name,char *ID_num,char *flight_num,int ticket_num,int order_num)函数,将新客户结点插入客户链表中。 2.2.3 客户退票模块 void cancel(passengerList *&PList,flightnode *&h)函数调用int delete_passenger(passengerList *&PList,flightnode *&h,char *name,char *ID_num)函数,将相应的顾客结点删除,并修改相应的航班信息。 2.2.4 查询航班模块 void flight_check(flightnode *h)调用void check_all_flight(flightnode *h)函数进行所有航班信息浏览,调用int place_check(flightnode *h,char *start_place,char *end_place)函数按起飞到达城市对航班进行查询,调用int flight_num_check(flightnode *h,char *flight_num)按航班号对航班进行查询。 2.2.5 查询订单模块 void passenger_check(passengerList *PList)调用void check_all_passenger(passengerList *PList)函数进行所有订单信息浏览,调用int order_num_check(passengerList *PList,int order_num)函数按订单号对订单进行查询,调用int ID_name_check(passengerList *PList,char *name,char *ID_num)按客户姓名和证件号对订单进行查询。 2.2.6 修改航班模块 增长航班时,void modify_flight(flightnode *&h,passengerList *&PList)函数调用void add_flight(flightnode *&h)函数,将新航班信息结点插入航班链表中。 删除航班时,void modify_flight(flightnode *&h,passengerList *&PList)函数调用void delete_flight(flightnode *&h,passengerList *&PList)函数将相应的航班信息删除,并删除相应的订单信息。 修改航班时间时,void modify_flight(flightnode *&h,passengerList *&PList)函数修改指定航班的起飞到达时间。 2.3 各模块之间的调用关系以及算法设计 2.3.1 各模块之间的调用关系 主函数 录入 航班信息 订 票 退 票 查询航班 查询订单 修改航班信息 退 出 浏览 所有 航班 信息 按起 飞抵 达城 市查 询航 班信 息 按航 班号 查询 航班 信息 浏览 所有 订单 信息 按客 户姓 名和 证件 号查 询订 单信 息 按订 单号 查询 订单 信息 增长 航班 信息 修改 航班 起飞 到达 时间 删除 航班 信息 2.3.2 算法设计 void init_flight(flightnode *&h):要建立一个以h为头结点的空链表,录入航班信息和增长航班后将航班结点插入该链表。 void init_passengerList(passengerList *&pList):建立一个带有头指针和尾指针的空链表,存储带有顾客信息的结点。 void save_flight(flightnode *h):保存航班信息到指定数据文献中。 void load_flight(flightnode *&h):从存储航班信息的文献导入航班信息到航班链表中。 void save_passenger(passengerList *PList):保存客户信息到指定数据文献中。 void load_passenger(passengerList *&PList):从存储客户信息的文献导入客户信息到客户链表中。 void add_flight(flightnode *&h):录入航班信息后调用insert_flight函数增长航班。 void insert_flight(flightnode *&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):在录入航班情况或增长新的航班后,将新的航班结点插入到航线链表中。 int book(flightnode *&l,passengerList *&PList):要完毕客户订票,将客户结点插入客户链表中,并修改相应的航班信息。 void insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char *ID_num,char *flight_num,int ticket_num):在顾客订票后,将该顾客结点插入到顾客链表中,并修改相应的航班信息。 void find_same_flight(flightnode *l,char *flight_num):在客户订票时,当客户输入的航班号相应的航班已满仓时,提供其他可选航班并输出显示。 void cancel(passengerList *&PList,flightnode *&h):完毕客户退票,将客户的订单从客户链表中删除,并修改相应的航班信息。 int delete_passenger(passengerList *&PList,flightnode *&h,char *name,char *ID_num):按照要退票的顾客的姓名和证件号查找该顾客结点,进行删除操作。 void flight_check(flightnode *h):选择使用何种方式对航班信息进行查询。 void check_all_flight(flightnode *l):浏览所有航班信息。 int place_check(flightnode *l,char *start_place,char *end_place):按照起飞到达城市查询航班信息。 int flight_num_check(flightnode *l,char *flight_num):按照航班号查询航班信息。 void passenger_check(passengerList *PList):选择使用何种方式对订单信息进行查询。 void check_all_passenger(passengerList *PList):浏览所有订单信息。 int order_num_check(passengerList *PList,int order_num):按订单号查询订单信息。 int ID_name_check(passengerList *PList,char *name,char *ID_num):按客户姓名和证件号查询订单信息。 void modify_flight(flightnode *&h,passengerList *&PList):修改航班信息,涉及添加航班信息,删除航班信息,修改航班起飞到达时间。 void delete_flight(flightnode *&h,passengerList *&PList):按照某个航班号删除航班结点。 3. 具体设计 3.1 录入航班信息模块 在主函数中输入“1”,调用void add_flight(flightnode *&h)函数,此函数将航班指针*p指向已存在航班链表*h的头结点,运用for(;p->next!=NULL;p=p->next){}使*p指向航线链表的最后一个结点,然后让用户输入航班信息,然后调用void insert_flight(flightnode *&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)函数,用malloc函数申请一个航班结点,并用指针*q指向,将航班信息赋到新申请的结点中,p->next=q;p=p->next;该操作将该结点插入航班链表中。流程图如下: Y Y flightnode *p=h; p->next!=NULL p=p->next mark==1 输入航班信息 调用insert_flight函数 完毕航班信息的录入 是否继续录入航班信息 “是”输入“1”mark=1 “否”输入“0”mark=0 开始 结束 N N 3.2 顾客订票模块 在主函数中输入“2”,调用int book(flightnode *&h,passengerList *&PList)函数完毕客户的订票。用航班指针*p指向已存在航班链表*h的头结点的下一个结点,请客户输入起飞到达城市,分别存于start_place和end_place中。调用int place_check(flightnode *l,char *start_place,char *end_place)函数,假如函数返回“1”则请客户输入要订的航班号,假如输入的航班号不存在,输出提醒信息, 假如航班存在则提醒客户输入订的票数、客户的姓名和证件号,调用void insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char *ID_num,char *flight_num,int ticket_num)函数,定义航班指针*p=h->next,使用for循环匹配flight_num和p->flight_num,找到后,执行p->left=p->left-ticket_num,修改相应航班的空座数。用malloc函数申请一个客户结点,并用指针*q指向,将客户信息和航班号赋到新申请的结点中,PList->rear->next=q;PList->rear=q;该操作将该结点插入客户链表中。 假如该航班已满仓或该航班的空座数不够,输出可供选择的航班,让客户选择,之后调用void insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char *ID_num,char *flight_num,int ticket_num)函数将客户结点插入客户链表中. Y N 输入航班号,存入flight_num 开始 flightnode *p=h->next; 输入起飞到达城市,分别存于start_place和end_place place_check(h,start_place,end_place)==1 N 航班号不为空! 输入航班号,存入flight_num flight_num ==NULL Y Y N Y p!=NULL strcmp(p->flight_num, flight_num)==0 N 输入姓名、证件号、订票数,分别存入name、ID_num、ticket_num Y 航班号不为空! 输入航班号,存入flight_num name==NULL N 接上页: 返回“1” Y N 证件号不为空! 输入证件号,存入ID_num ID_num==NULL N N 订票数不为空! 输入订票数,存入ticket_num ticket_num==NULL Y 调用insert_passengerList函数 完毕客户订票 p->left>0&& p->left>=ticket_num Y 显示其他可选航班 供客户选择 调用insert_passengerList函数 完毕客户订票 p=p->next 返回“0” 结束 3.3 顾客退票模块 在主函数中输入“3”,调用void cancel(passengerList *&PList,flightnode *&h)函数完毕客户的退票。提醒客户输入客户的姓名和证件号以及要退的航班号,此函数再调用int delete_passenger(passengerList *&PList,flightnode *&h,char *name,char *ID_num,char *flight_num)函数,用客户结点指针*pr等于已存在客户链表结点Plist的头指针,相称于将*pr指向客户链表的头结点,用客户结点指针*p指向pr的下一个结点。使用while循环寻找匹配姓名、证件号、航班号的客户结点,找到后定义航班指针*f=h->next,使用for循环找到匹配航班号的航班结点,执行f->left=f->left+p->ticket_num,修改退票后相应航班结点的空座数,之后执行pr->next=p->next;free(p);删除要退票的客户订单信息。假如没有找到匹配的客户结点,输出提醒信息。 开始 输入姓名、证件号、航班号,分别存于name、ID_num、flight_num 调用delete_passenger函数 完毕客户的退票 结束 开始 passengernode *pr=PList->head passengernode *p=pr->next strcmp(name,p->name)==0&& strcmp(ID_num,p->ID_num)== 0&&strcmp(flight_num,p-> flight_num)==0 N Y 返回“1” 返回“0” 结束 N pr->next=p->next free(p) p!=NULL pr=pr->next; p=pr->next; flightnode *f=h->next f!=NULL !! Y Y N f=f->next strcmp(flight_num, f->flight_num)==0 N f->left=f->left+p->ticket_num; Y delete_passenger函数的流程图: 3.4 查询航班模块 在主函数中输入“4”,调用void flight_check(flightnode *h)函数选择使用哪一种查询方式进行查询。提醒客户输入查询方式,如客户输入“1”,则调用int flight_num_check(flightnode *l,char *flight_num)函数按航班号对航班进行查询,提醒客户输入航班号,存于flight_num中;如客户输入“2”,则调用int place_check(flightnode *l,char *start_place,char *end_place)函数按起飞到达城市对航班进行查询,提醒客户输入起飞到达城市,分别存于start_place和end_place中;如客户输入“3”,则调用void check_all_flight(flightnode *l)函数浏览所有航班信息。 在int flight_num_check(flightnode *l,char *flight_num)函数中,定义航班指针*p=h,使用for循环匹配flight_num和p->flight_num,找到匹配的航班节点后,输出该航班的所有信息。 在int place_check(flightnode *l,char *start_place,char *end_place)函数中,定义航班指针*p=h,使用for循环寻找匹配start_place和start_place的结点,找到匹配的航班结点后,输出该航班的所有信息。 开始 请客户选择查询方 式,存于a中 根据a的值进行选择 a==1 a==3 a==2 调用flight_num_c heck函数进行查询 调用check_all_fl ight函数进行查询 调用place_chec k函数进行查询 结束 在void check_all_flight(flightnode *l)函数中,定义航班指针*p=h,使用for循环输出所有航班信息。 flight_num_check函数的流程图: Y N 开始 flightnode *p=h p=p->next p!=NULL strcmp(p->flight_num, flight_num)==0 输出航班信息,返回“1” 返回“0” 结束 N Y 3.5 查询订单模块 在主函数中输入“5”,调用void passenger_check(passengerList *PList)函数选择使用哪一种查询方式进行查询。提醒客户输入查询方式,如客户输入“1”,则调用int ID_name_check(passengerList *PList,char *name,char *ID_num)函数按客户的姓名和证件号对订单进行查询,提醒客户输入姓名和证件号,分别存于name和ID_num中;如客户输入“2”,则调用int order_num_check(passengerList *PList,int order_num)函数按订单号对订单进行查询,提醒客户输入订单号,存于order_num中;如客户输入“3”,则调用void check_all_passenger(passengerList *PList)函数浏览所有订单信息。 在int ID_name_check(passengerList *PList,char *name,char *ID_num)函数中,定义客户指针*p= PList->head->next,使用for循环寻找匹配name和ID_num的结点,找到匹配的订单节点后,输出该订单的所有信息。 在int order_num_check(passengerList *PList,int order_num)函数中,定义客户指针*p=PList->head->next,使用for循环寻找匹配order_num的结点,找到匹配的订单结点后,输出该订单的所有信息。 在void check_all_passenger(passengerList *PList)函数中,定义客户指针*p=PList->head->next,使用for循环输出所有订单信息。 开始 请客户选择查询方 式,存于a中 根据a的值进行选择 a==1 a==3 a==2 调用name_ID_che ck函数进行查询 调用check_all_pas senger函数进行查询 调用order_num_ch eck函数进行查询 结束 Y N 返回“0” 输出航班信息,返回“1” 结束 p=p->next p!=NULL p->order_num ==order_num N Y 开始 passengernode *p=PList->head->next order_num_check函数的流程图: 3.6 修改航班模块 在主函数中输入“6”,调用void modify_flight(flightnode *&h,passengerList *&PList)函数对航班信息进行修改。提醒客户输入修改模式,如客户输入“1”,则调用void add_flight(flightnode *&h)函数添加航班信息;如客户输入“2”,则调用void delete_flight(flightnode *&h,passengerList *&PList)函数删除指定的航班信息,提醒客户输入航班号,存于flight_num中;如客户输入“3”,则示客户输入航班号,假如该航班号存在,则提醒用户输入修改后的起飞到达时间。 开始 请客户选择修改模 式,存于a中 根据a的值进行选择 a==1 a==3 a==2 调用add_flight函 数添加航班信息 输入航班号,存 入flight_num 调用delete_fli ght函数删除航班 结束 flight_num_check (p,flight_num)==1 输入修改后的起飞到达时间, 分别存入start_time和end_time flightnode *p=h->next strcmp(flight_num, p->flight_num)==0 p!=NULL strcpy(p->start_time,start_time) strcpy(p->end_time,end_time) p=p->next 在void delete_flight(flightnode *&h,passengerList *&PList)函数中,定义航班指针*pr=h,定义航班指针p=pr->next,定义客户指针*qr=PList->head,定义客户指针*q=qr->next。使用while循环寻找匹配航班号的航班结点,找到后执行pr->next=p->next;free(p),删除指定的航班信息;使用while循环找到匹配航班号的订单结点,执行qr->next=q->next;free(q),删除对该航班订票的订单信息。假如没有找到匹配的航班结点,输出提醒信息。 4. 测试与分析 4.1 合法数据的测试 (1) 编译链接后显示菜单 (2) 输入菜单号“1”,开始航班信息的录入 (3) 输入菜单号“2”,进入订票模块 (4) 输入菜单号“3”,进入退票模块 (5) 输入菜单号“4”,查询航班信息 a. 输入菜单号“1”,按航班号查询航班信息 b. 输入菜单号“2”,按起飞到达城市查询航班信息 c. 输入菜单号“3”,浏览所有航班信息 (6) 输入菜单号“5”,查询订单信息 a. 输入菜单号“1”,按客户姓名和证件号查询订单信息 b. 输入菜单号“2”,按订单号查询订单信息 c. 输入菜单号“3”,浏览所有订单信息 (7) 输入菜单号“6”,进入航班修改模块 a. 输入菜单号“1”,增长航班 b. 输入菜单号“2”,删除航班 c. 输入菜单号“3”,修改航班时间 (8) 输入菜单号“0”,退出本系统。 4.2 非法数据的测试 (1) 在主菜单中输入错误号码后,系统自动跳转到主菜单,继续让用户输入。 (2) 选择订票服务后,输入了没有开通航班的城市 (3) 选择订票服务后,输入了系统中没有的航班号 (4) 选择退票服务后,输入了没有订票的客户姓名和证件号 (5) 选择航班查询服务后,输入了没有开通航班的城市 (6) 选择航班查询服务后,输入了系统中不存在的航班号 (7) 选择订单查询服务后,输入了没有订票的客户姓名和证件号 (8) 选择订单查询服务后,输入了系统中不存在的订单号 (9) 选择删除航班服务后,输入了系统中不存在的航班号 (10) 选择修改航班时间服务后,输入了系统中不存在的航班号 5. 用户使用说明 5.1 运营环境 Windows xp;Microsoft Visual C++ 6.0 5.2 重要功能 飞机订票系统系统功能模块如下: 重要功能涉及录入航班信息、客户订票、客户退票、查询航班信息、查询订单信息、修改航班信息六个模块;其中查询航班信息模块涉及按航班号查询、按起飞到达城市查询和浏览所有航班信息;其中查询订单信息模块涉及按订单号查询、按客户姓名和证件号查询以及浏览所有订单信息;其中修改航班信息模块涉及添加航班信息、删除航班信息和修改航班起飞到达时间。 5.3 操作注意事项 用户在使用飞机订票系统之前,应注意以下事项: 用户在输入数据时,飞机航班号、起飞到达城市、起飞到达时间、客户姓名、证件号等为字符串形式;空座数、订票数量、航班是否满仓等为整型(int);票价、票价折扣等为浮点型(float);其他形式的输入,请按输入提醒进行操作,以免引起不必要的故障。 5.4 业务流程 输入相应的选择信息,便可进入相应的模块中。 (1)输入“1”,进入【录入航班信息】模块,输入航班的相关信息,完毕航班信息的录入。 (2)输入“2”,进入【客户订票】模块,输入客户的信息、要订的票数和要订的航班号,完毕客户的订票操作。 (3)输入“3”,进入【客户退票】模块,输入客户的信息、要退的航班号,完毕客户的退票操作。 (4)输入“4”,进入【查询航班信息】模块,可以浏览或查询航班的相关信息。 (5)输入“5”,进入【查询订单信息】模块,可以浏览或查询订单的相关信息。 (6)输入“6”,进入【修改航班信息】模块,可以添加航班信息、删除航班信息和修改航班的起飞到达时间。 6. 总结 通过这两周的数据结构课程设计,我收获很大,在实现系统功能的过程中,也碰到很多问题,分工协作,设计修改,编写调试,每一步都渗透着沟通和分析,每一次沟通之后,都会对系统功能有更深层次的理解和阐述,这也促使我们一步步完毕了整个系统,并使之可以运营。两周的时间太短暂了,我们无法把所有学到的知识运用到具体的系统实现中,深深感受到数据结构这门课程的重要性,以及它在实际应用中的广泛性。本系统由于种种因素仍然存在需要改善,需要完善的地方,我对于这个系统的结识和对数据结构这门课程的理解已经更加进一步了。在此后的学习和工作中,会更加进一步地把知识和思想体会更广泛地应用到其他相关领域。 本系统在人性化的方面做得还不够,对于另类的输入错误,还不能很好地应对,这也体现出本系统不够健壮,会在此后的学习中加以改善和完善;在功能模块方面还可以增长更多相关模块,是系统更加完善。 在实现系统的过程中,我感受到自己的知识的薄弱零散,通过这次做系统,我觉得自己的知识得到巩固和整合,知识体系更加系统化。我也深深体会到实践检查真理,只有实践中,才干出真知。我懂得了学习不只是纸上谈兵,更重要的是实践,就比如平常我们在学习中经常会碰到一些问题,看似无关紧要跳过去,不求甚解,在得知答案的时候,总是感觉心领神会,久而久之,对于的知识点就模棱两- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 飞机 订票 系统 设计 实现 里面 附有 源代码
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文