- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第二部分课程设计实验
实验1航空客运订票系统
[问题描述]航空客运订票的业务活动包括:查询航线和客票预定的信息、客票预定和办理退票等。设计一个计算机程序以使上述任务借助计算机来完成。
[基本要求]
1.系统必须存储的数据信息
信息:飞机抵达城市、航班号、飞机号、起降时间、航班票价、票价折扣、总位置和剩余位置、已订票的客户名单。
客户信息:客户姓名、证件号、座位号。
2.系统能实现的操作和功能如下:
(1)承办订票业务:根据客户提出的要求(飞机抵达城市、起降时间、订票数量)查询该航班信息(包括票价、折扣和剩余位置),若满足要求,则为客户办理订票手续,输出座位号。
(2)承办退票业务:根据客户提供的情况(航班号,订票数量),为客户办理退票手续。
(3)查询功能
查询航线信息:根据飞机降落地点,输出下列信息:航班号、飞机号、起降时间、航班票价、票价折扣和剩余位置。
查询客户预订信息:根据客户证件号,输出下列信息:航班号、飞机号和座位号。
[系统实现]
1、设计思想
航班信息和客户预订名单采用线性表表示,为了插入和删除方便,建议以链表做为存储结构。整个系统需要汇总各条航线的情况登录在一张线性表上,考虑到航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包括上述9个域,其中乘员名单域为指向乘员名单链表的头指针。
2、参考程序
系统采用菜单的方式由操作者进行选择,并初始化了航线和预定顾客的信息,作为示意系统,全部数据可以只放在内存中。
#includestdio.h
#includemalloc.h
#includestring.h
#defineOK1
#defineERROR0
typedefstructairline{/*飞机航班的结构定义*/
????charair_num[8];
????charplane_num[8];
????charend_place[20];
????int??total;
????int??left;
????structairline*next;
}airline;
typedefstructcustomer{/*顾客信息的结构定义*/
????charname[8];
????charair_num[8];
????int??seat_num;
????structcustomer*next;
}customer;
airline*start_air()/*创建航班链表*/
{
????airline*a;
????a=(airline*)malloc(sizeof(airline));
????if(a==NULL)
????printf(空间不足);
????returna;
}
customer*start_cus()/*创建顾客链表*/
{
????customer*c;
????c=(customer*)malloc(sizeof(customer));
????if(c==NULL)
????printf(空间不足);
????returnc;
}
airline*modefy_airline(airline*l,char*air_num)/*修改航班的空余座位信息*/
{
????airline*p;
????p=l-next;
????for(;p!=NULL;p=p-next)
????{
????????if(strcmp(air_num,p-air_num)==0)
????????{
????????????p-left++;
????????????returnl;
????????}
????????printf(NOtheairline!);
????????return0;
????}
}
intinsert_air(airline**p,char*air_num,char*plane_num,char*end_place,inttotal,intleft)/*增加航班信息*/
{
????airline*q;
????q=(airline*)malloc(sizeof(airline));
????strcpy(q-air_num,air_num);
???
文档评论(0)