ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:201.63KB ,
资源ID:15783876      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15783876.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验四 队列综合应用 实验报告文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验四 队列综合应用 实验报告文档格式.docx

1、4.2 选择手动输入飞机数据(除了输入飞机信息以外,还需要输入模拟程序的起始时间)4.3 选择随机生成数据4.4 模拟程序开始 界面从左到右,分别是进场队列,机场的机库以及出场队列。航班名前面方括号中的为飞机的状态。进场队列中的“等待”表示飞机正处于申请立场的状态,出场队列中的“等待”表示飞机正处于申请离场的状态。4.5 使用 pinfo 参数启动程序,重新输入飞机数据(旧的数据文件会被覆盖)4.6 使用 apinfo 参数启动程序,重新生成飞机数据(旧的数据文件被覆盖)4.7 模拟程序结束,输出提示信息五、 操作说明1. 在第一次启动程序或者程序找不到飞机数据文件时,程序会进入到编辑飞机信息

2、的界面。(图4.1)。然后选择由程序随机产生数据或者手动输入数据。在输入数据过程中,除了飞机信息以外,还需要输入一些额外的信息。例如,模拟程序的起始时间,飞机的数量。2. 程序顺利把飞机数据从数据文件读入内存以后,程序会自动进入模拟的过程。如果数据文件是由程序自动生成的,并不能保证生成的每台飞机的降落时间是均匀分布的,有可能会出现在相当长的一段时间都没有飞机信息的出现。3. 当模拟结束时,并不会立即输出模拟结束的提示信息,在此过程中,跑道状态处会提示模拟程序已经结束。模拟程序结束的10秒才输出模拟程序结束的信息。六、 附录:代码#include stdlib.hstring.hwindows.

3、htime.h#define TRUE 1#define FALSE 0#define ROAD_STATUS_IDLE 0 / 表明跑道正处于空闲状态#define ROAD_STATUS_UP 1 / 表明跑道上正有飞机在起飞#define ROAD_STATUS_DOWN 2 / 表明跑道上正有飞机在降落#define PLANE_STATUS_IDLE 0 / 飞机正处于空闲状态#define PLANE_STATUS_TAKE_OFF 1 / 表示飞机称出于起飞状态#define PLANE_STATUS_LANDING 2 / 表示飞机正处于降落状态#define PLANE_ST

4、ATUS_WAIT_FOR_IN 3 / 表示飞机正处于申请进场状态#define PLANE_STATUS_WAIT_FOR_OUT 4 / 表示飞机正处于申请离场状态#define QUEUE_OK 1 / 表示队列操作成功#define QUEUE_MALLOC_FAIL -1 / 表示进行队列操作时分配空间发生错误#define QUEUE_EMPTY -2 / 表示对空队进行操作(插入除外)的错误信息#define QUEUE_TRAVERSE_FAIL -3 / 表示遍历过程中由遍历函数引起的函数终止#define QUEUE_INDEX_OUT_OF_RANGE -4 / 表示进

5、行队列操作的索引超出有效范围#define QUEUE_NULL_POINTER -5 / 表示使用空指针接收内容的错误#define LIST_OK 0 / 表示链表操作成功#define LIST_MALLOC_FAIL -1 / 表示链表操作时分配空间发生错误#define LIST_EMPTY_LIST -2 / 表示对空链表进行操作(插入除外)的错误信息#define LIST_INDEX_OUT_OF_RANGE -3 / 表示指定的删除和插入位置无效#define LIST_TRAVERSE_FAIL -4 / 表示遍历过程中由遍历函数引起的函数终止#define FILE_OK

6、 0 / 表示进行文件操作成功#define FILE_OPEN_FAIL -1 / 表示打开文件时发生错误#define FILE_NOT_ACCEPT -2 / 表示信息文件为无效信息文件#define FILE_EMPTY_FILE -3 / 表示尝试从没有数据的文件中读取数据#define FILE_TYPE_INPUT 1 / 表示数据文件是用户手动输入的#define FILE_TYPE_RANDOM 2 / 表示数据文件是由程序随机生成的#define TIME_STOP 30 / 表示飞机在机库中停留的最短时间#define TIME_UP 20 / 表示起飞时间为 20 分钟

7、#define TIME_DOWN 20 / 表示降落时间为 20 分钟/* - 结构体声明部分 - */ 储存每台飞机信息的结构体struct Plane char name31; / 航班名 int status; / 飞机状态 int time; / 飞机状态持续的时间 int land_time; / 表示飞机降落的时间 int land_year; / 表示飞机降落的年份 int land_month; / 表示飞机降落的月份 int land_day; / 表示飞机降落的天;/ 链队结构体struct LinkQueue struct QueueNode *front; / 链队的

8、队头 struct QueueNode *rear; / 链队的队尾 int count; / 链队中结点的数量/ 表示队列中每个元素的节点struct QueueNode struct QueueNode *next; / 指向链队的下一个结点 struct Plane data; / 储存飞机信息/ 链表结点,用于储存在机场中停留的飞机信息struct LinkListNode / 储存飞机信息 struct LinkListNode *next; / 指向链表的下一个结点/ 链式线性表结构struct LinkList struct LinkListNode *head; / 链表头 /

9、 链表中结点的数量/ 该结构体表示机场struct Airport struct LinkQueue *in; / 表示等待降落的飞机队列 struct LinkQueue *out; / 表示等待升空的飞机队列 struct LinkList *garage; / 表示已经在机场降落的飞机/ 文件头结构,储存模拟程序的起始时间和飞机数量等信息/ 文件头标记用于判断文件是否为有效文件struct File_Header char tag4; / 文件头标记 int fileType; / 表示数据文件的产生方式 / 飞机数量 int time_startup; / 程序起始时间 int tim

10、e_year; / 模拟程序起始年份 int time_month; / 模拟程序起始月份 int time_day; / 模拟程序起始天typedef struct Plane Plane;typedef struct LinkQueue Queue;typedef struct QueueNode QNode;typedef struct LinkListNode LNode;typedef struct LinkList List;typedef struct File_Header FHeader;typedef struct Airport Airport;/* - 全局变量声明 -

11、 */int RoadStatus; / 用于区分跑道目前的状态int *t, *m, *d, *y; / 计算时间的变量int isFinish; / 标记变量,用于记录文件中是否所有的航班都已经模拟完毕int isInUpdate; / 用于绘图的辅助变量int isOutUpdate;int isGarageUpdate; / 用于绘图的辅助变量int iTime; / 用于记录时间,控制界面的绘制int iFileType; / 表示读入文件的产生类型List *L; / 储存尚未到达进场时间的飞机信息Airport *A; / 表示机场的结构体变量/* - 函数声明部分 - */ 1

12、. 队列操作函数的声明/ 队列的初始化操作int Queue_Init(Queue *Q);/ 判断队列是否为空队列int Queue_IsEmpty(Queue *Q);/ 获取队列的长度int Queue_Length(Queue *Q);/ 把一台飞机信息添加到队尾int Queue_Insert(Queue *Q, Plane P);/ 获取队头元素信息,使用 P 接收队头元素信息int Queue_GetHead(Queue *Q, Plane *P);/ 删除队头元素,并用指针 P 接收队头元素信息int Queue_Delete(Queue *Q, Plane *P);/ 队列的遍历int Queue_Traverse(Queue *Q, int(*fun)(Plane *P);/ 获取队列中特定位置的飞机信息Plane *Queue_GetInfoPtrByIndex(Queue *Q, int index);/ 获取队列中从队头到队尾第一台正在降落的飞机信息Plane *Queue_GetDown

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1