第二部分-课程设计实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

伊人 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档