- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四队列综合应用实验报告
队列综合操作(机场起降模拟程序)实验报告实验内容和目的队列的基本概念和基本操作:队列的入队操作,队列的出队操作,判断队列是否为空队列,队列的初始化操作链表的基本概念和基本操作:链表的初始化,链表的定位操作,链表的插入,删除操作。实验原理队列是只允许在表的一端进行插入(队尾),而在另一端(队头)进行删除操作的线性表。队列的修改是按照先进先出的原则进行的。模拟程序采用两个队列结构,分别表示机场的进场队列(包括正在降落的飞机和等待降落的飞机)和出场队列(包括正在起飞的飞机和等待起飞的飞机),另外,还采用了两个链表分别储存已经降落但尚未到达离场时间的飞机(即空闲状态的飞机)以及尚未到达降落时间的飞机。模拟程序中,飞机的数据包括航班名,飞机状态,飞机在该状态下持续的时间(用于判断飞机的起飞和降落等过程的完成情况),飞机降落的时间和日期。另外,程序中使用了全局变量记录模拟程序中的时间,并且模拟程序时间的起始值记录在数据文件中。程序流程图3.1 程序整体流程图3.2 程序主逻辑函数(控制飞机走向的函数)实验结果4.1 程序第一次运行(或者存放飞机信息的数据文件不存在时,询问如何产生飞机信息)4.2 选择手动输入飞机数据(除了输入飞机信息以外,还需要输入模拟程序的起始时间)4.3 选择随机生成数据4.4 模拟程序开始界面从左到右,分别是进场队列,机场的机库以及出场队列。航班名前面方括号中的为飞机的状态。进场队列中的“等待”表示飞机正处于申请立场的状态,出场队列中的“等待”表示飞机正处于申请离场的状态。4.5 使用 pinfo 参数启动程序,重新输入飞机数据(旧的数据文件会被覆盖)4.6 使用 apinfo 参数启动程序,重新生成飞机数据(旧的数据文件被覆盖)4.7模拟程序结束,输出提示信息操作说明在第一次启动程序或者程序找不到飞机数据文件时,程序会进入到编辑飞机信息的界面。(图4.1)。然后选择由程序随机产生数据或者手动输入数据。在输入数据过程中,除了飞机信息以外,还需要输入一些额外的信息。例如,模拟程序的起始时间,飞机的数量。程序顺利把飞机数据从数据文件读入内存以后,程序会自动进入模拟的过程。如果数据文件是由程序自动生成的,并不能保证生成的每台飞机的降落时间是均匀分布的,有可能会出现在相当长的一段时间都没有飞机信息的出现。当模拟结束时,并不会立即输出模拟结束的提示信息,在此过程中,跑道状态处会提示模拟程序已经结束。模拟程序结束的10秒才输出模拟程序结束的信息。附录:代码#includestdio.h#includestdlib.h#includestring.h#includewindows.h#includetime.h#defineTRUE 1#defineFALSE 0#defineROAD_STATUS_IDLE 0// 表明跑道正处于空闲状态#defineROAD_STATUS_UP 1 // 表明跑道上正有飞机在起飞#defineROAD_STATUS_DOWN 2// 表明跑道上正有飞机在降落#definePLANE_STATUS_IDLE 0// 飞机正处于空闲状态#definePLANE_STATUS_TAKE_OFF 1// 表示飞机称出于起飞状态#definePLANE_STATUS_LANDING 2// 表示飞机正处于降落状态#definePLANE_STATUS_WAIT_FOR_IN 3// 表示飞机正处于申请进场状态#definePLANE_STATUS_WAIT_FOR_OUT 4// 表示飞机正处于申请离场状态#defineQUEUE_OK 1// 表示队列操作成功#defineQUEUE_MALLOC_FAIL -1// 表示进行队列操作时分配空间发生错误#defineQUEUE_EMPTY -2// 表示对空队进行操作(插入除外)的错误信息#defineQUEUE_TRAVERSE_FAIL -3// 表示遍历过程中由遍历函数引起的函数终止#defineQUEUE_INDEX_OUT_OF_RANGE -4// 表示进行队列操作的索引超出有效范围#defineQUEUE_NULL_POINTER -5// 表示使用空指针接收内容的错误#defineLIST_OK 0 // 表示链表操作成功#defineLIST_MALLOC_FAIL -1// 表示链表操作时分配空间发生错误#defineLIST_EMPTY_LIST -2//
文档评论(0)