北华航天工业学院迷宫和航班查询系统课设报告

合集下载

北华航天工业学院__计算机组成原理课设报告材料

北华航天工业学院__计算机组成原理课设报告材料

《计算机组织与体系结构》课程设计报告报告题目:复杂模型机系统设计及运行作者所在系部:计算机科学与工程系作者所在专业:网络工程作者所在班级: B11522 作者姓名:张旭刚指导教师姓名:房好帅完成时间: 2013/6/28北华航天工业学院教务处制目录目录 (1)内容摘要 (2)课程设计任务书 (3)第1章绪论 (4)1.1 设计地点 (4)1.2 设计目的 (4)1.3 设计内容 (4)1.4 实验的环境 (4)1.5课程设计的要求 (5)第2章基础知识 (6)2.1 概述 (6)2.2 主要技术要点 (7)2.2.1 ALU部件 (7)2.2.2. 存储体 (7)2.2.3 控制器 (7)第3章系统设计与实现 (9)3.1 模型机结构 (9)3.2 程序设计原理 (10)3.2.1 数据格式及指令格式 (10)3.2.2 指令系统 (11)3.2.3微指令设计 (11)3.3 机器指令设计 (13)3.4 联机实验 (14)3.4.1 实验流程 (14)3.4.2 实验连线 (14)3.4.3 实验步骤 (15)3.4.4 实验结果 (20)总结 (21)参考文献 (22)内容摘要计算机系统是包括计算机硬件和软件的一个整体,两者不可分割,但处于不同的层次上。

计算机系统的层次结构模型中,第0层是硬件内核(逻辑线路),第1、2层是指令系统和实现该指令系统所采用的技术(组合逻辑技术、微程序控制技术、PLA控制技术),第3、4层为系统软件,第5层为应用软件,第6层是系统分析。

计算机组成原理涉及到的是第0、1、2这3层。

本次计算机组成原理的课程设计主要是实现一个较完整的模型机,在实验中了解,熟悉完整的单台计算机基本组成原理,掌握计算机中数据表示方法、运算方法、运算器的组成、控制器的实现、存储器子系统的结构与功能、输入/输出系统的工作原理与功能。

以及增强自己的动手能力。

课设主要依托组成原理实验室设备EL-JY-II来完成的,在实验当中利用了实验设备厂商开发的工具以及部分源程序代码。

操作系统课程设计报告

操作系统课程设计报告

北华航天工业学院《操作系统》课程设计报告课设报告题目:进程调度算法、银行家算法、虚拟内存中的页面置换磁盘调度算法作者所在系部:计算机科学与工程系作者所在专业:计算机科学与技术作者所在班级:B09512作者姓名:丁小玲指导教师姓名:赵辉完成时间:2011.12.14北华航天工业学院教务处制随着科学技术的发展,计算机在人们的生活领域中占据了重要的地位。

计算机中最最关键的就是操作系统,它直接对计算机的硬件就行了管理,为人们提供了人机界面,使人们可以更方便高效的利用电脑。

我们应该掌握操作系统中进程调度,内存管理,设备管理以及文件管理中重要的过程,这样有利于我们以后更好的了解操作系统。

进程调度算法主要有三种算法,分别是先来先服务、短进程优先算法和高响应比优先算法;银行家算法主要是针对资源分配后,系统是否安全的判断;虚拟内存中的页面置换主要有三种算法,分别是先进先出算法、最近最久未使用算法和最佳置换算法;磁盘调度算法主要有三种算法,分别是先来先服务算法、最短寻道时间优先算法、扫描算法和循环扫描算法。

关键词:先进先出安全算法循环扫描最短寻道第一章绪论 (1)1.1 课程设计的背景和意义 (1)1.1.1 课程设计的理论研究基础 (1)1.1.2 课程设计的意义 (1)1.2 课程设计环境 (2)第二章需求分析 (3)2.1 功能要求 (3)2.1.1 进程调度算法 (3)2.1.2银行家算法 (3)2.1.3 虚拟内存中的页面置换 (3)2.1.4 磁盘调度算法 (3)2.2 问题的解决方案 (4)2.2.1 进程调度算法 (4)2.2.2银行家算法 (4)2.2.3 虚拟内存中的页面置换 (4)2.2.4 磁盘调度算法 (5)第三章系统设计 (6)3.1 数据设计 (6)3.1.1 结构体设计 (6)3.1.2 函数设计 (6)第四章系统实现 (9)4.1 结构体实现 (9)4.1.1 进程调度算法 (9)4.2 函数实现 (9)4.2.1进程调度算法 (9)4.2.2银行家算法 (12)4.2.3虚拟内存中的页面置换算法 (13)4.2.4磁盘调度算法 (17)4.3 主函数实现 (19)4.3.1 进程调度算法的运行界面 (19)4.3.2 银行家算法的运行界面 (19)4.3.3 虚拟内存中的页面置换的运行界面 (20)4.3.4磁盘调度算法的运行界面 (21)4.4 系统界面 (21)4.4.1 进程调度算法的运行界面 (21)4.4.2 银行家算法的运行界面 (22)4.4.3 虚拟内存中的页面置换算法的运行界面 (22)4.4.4 磁盘调度算法的运行界面 (22)第五章系统测试 (23)5.1 模块测试 (23)5.1.1 进程调度算法的模块测试 (23)5.1.2 银行家算法的模块测试 (23)5.1.3虚拟内存中的页面置换算法的模块测试 (24)5.1.4 磁盘调度算法的模块测试 (25)5.2 课程设计过程中遇到的问题 (26)总结 (27)致谢 (28)参考文献 (29)附录 (30)第一章绪论随着科学技术的发展,计算机在人们的生活领域中占据了重要的地位。

操作系统课设进程调度算法银行家算法

操作系统课设进程调度算法银行家算法

北华航天工业学院《操作系统》课程设计报告课设报告题目:作者所在系部:计算机科学与工程作者所在专业:计算机科学与技术作者所在班级:作者姓名:指导教师姓名:完成时间:2011-12-13北华航天工业学院教务处制摘要通过一学期的对操作系统的学习,对操作系统有了一定的知识储备,为了巩固知识,加深印象,也为了更加深入的了解与钻研操作系统,为以后的学习研究提供帮助,做操作系统课设,分别为进程调度算法、银行家算法。

通过进程调度算法课设,解决了进程调度的几个基本算法:先来先服务算法、短进程优先算法、高响应比算法。

通过银行家算法课设,更加深刻的理解了银行家算法,安全算法避免死锁的原理。

两个课设为两个知识点,都为操作系统的难点与重点,在硬件不允许的情况下通过运用vc++6.0和c++语言描述了它们的功能与具体实现,对以后的学习有很大的帮助。

关键词:操作系统进程进程调度算法先来先服务短进程优先高响应比银行家算法安全算法死锁安全序列安全状态1.1课程设计的背景和意义 (1)1.1.1课程设计的理论研究基础 (1)1.1.2课程设计的意义 (1)1.2课程设计环境 (1)第二章需求分析 (2)2.1功能要求 (2)2.1.1进程调度算法 (2)2.1.2银行家算法 (2)2.2问题的解决方案 (2)2.2.1进程调度算法 (2)2.2.2银行家算法 (3)第三章系统设计 (4)3.1数据设计 (4)3.1.1结构体设计 (4)3.1.2结构体之间的关系 (4)3.1.3函数设计 (4)第四章系统实现 (2)4.1结构体实现 (2)4.2函数实现 (2)4.2.1进程调度算法的函数实现 (2)4.2.2.银行家算法的函数实现 (6)4.3主函数实现 (4)4.3.1.进程调度算法的主函数实现 (4)4.3.2.银行家算法的主函数实现 (1)4.4系统界面 (1)4.4.1进程调度算法的运行界面 (1)4.4.2银行家算法的运行界面 (1)第五章系统测试 (2)5.1模块测试 (2)5.1.1进程调度算法 (2)5.1.2银行家算法 (4)5.2课程设计过程中遇到的问题 (6)总结 (7)致谢 (8)第一章绪论随着计算机的不断的更新换代,操作系统也越来越多样化,复杂化,这就要求我们大学生掌握一些操作系统的基本知识,了解操作系统的基本原理,能够正确地使用操作系统,直到操作系统的作用,为此,我们列举了两个操作系统中常用的两个知识点,进程调度算法和银行家算法,帮助学生能够较快的了解并掌握这两个常用的知识点。

【花花提供】C++课程设计报告(北华航天工业学院)

【花花提供】C++课程设计报告(北华航天工业学院)

北华航天工业学院《基于C++的面向对象程序设计实例》课程设计报告报告题目:媒体库管理系统作者所在系部:计算机科学与工程系作者所在专业:计算机科学与技术作者所在班级:作者姓名:指导教师姓名:完成时间:北华航天工业学院教务处制摘要在当前科技水平飞速发展的今天,中国的大学教育面临着巨大的挑战。

大学教育图书馆的建设势必不可少的,图书馆是当代大学生生充电与升华殿堂。

然而在信息时代的今天,我们的大学图书馆就必须拥有一套完善的并且适合自身特点的信息化图书馆管理系统。

用来实现图书馆数字化管理,及时更新图书信息,完善借书效率,实现后台操作管理系统等目的。

本文利用Visual c++ 6.0的ADO编写程序,实现了分类对图书馆中的资料流通进行管理,建立了一个媒体库管理系统。

图书馆共有三大类物品资料:图书、视频光盘、图画。

这三类物品共同具有的属性有:编号、标题、作者、评级(未评级,一般,成人,儿童)等。

其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出品者的名字、出品年份和视频时长等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。

本系统还增加了八个功能模块:添加物品,查询物品,显示物品库,编辑物品,删除物品,统计信息,物品存盘,读出物品。

此程序已经过全面的系统测试,能够很好的的运行,达到了预期的效果。

关键词:系统设计面向对象课程设计计算机科学与技术图书馆媒体库管理系统目录摘要 (Ⅰ)第1章绪论 (1)1.1 课程设计的目的 (1)1.2 课程设计的背景和意义 (1)1.2.1 课程设计的背景 (1)1.2.2 课程设计的意义 (1)1.3 课程设计环境 (1)第2章需求分析 (2)2.1 问题描述 (2)2.2功能要求 (2)2.3问题的解决方案 (3)第3章系统设计 (4)3.1数据设计 (4)3.1.1 类设计 (5)3.1.2 类之间的关系 (5)3.1.3 函数设计 (5)3.2结构设计 (5)3.2.1 系统流程图 (6)3.2.2 界面设计 (6)第4章系统实现 (9)4.1类实现 (9)4.2函数实现 (10)4.3主函数实现 (17)第5章系统测试 (18)5.1模块测试 (20)5.2课程设计过程中遇到的问题 (25)总结 (27)致谢 (28)参考文献 (29)第1章绪论1.1 课程设计的目的图书馆中的资料很多,如果能分类的对其资料流通进行管理,将会带来很多的方便,因此我们需要建立一个媒体库管理系统,来管理图书馆的部分工作。

航班管理系统课程设计

航班管理系统课程设计

航班管理系统课程设计一、课程目标知识目标:1. 学生能够理解航班管理系统的基本概念,掌握其主要功能模块。

2. 学生能够掌握航班管理系统中的数据结构和算法,如航班信息的存储和查询。

3. 学生能够了解航班管理系统在实际航空业务中的应用。

技能目标:1. 学生能够运用所学知识,设计并实现一个简单的航班管理系统。

2. 学生能够运用编程语言和数据库技术,实现对航班信息的增、删、改、查等操作。

3. 学生能够通过实际操作,掌握航班管理系统的使用方法和技巧。

情感态度价值观目标:1. 学生培养对航空事业的热爱,增强对航班管理系统重要性的认识。

2. 学生培养团队协作精神,学会与他人共同解决问题,提高沟通能力。

3. 学生培养创新意识,敢于尝试新方法,勇于解决实际问题。

课程性质:本课程属于信息技术与航空专业相结合的实践性课程,注重培养学生的动手能力和实际操作技能。

学生特点:学生具备一定的计算机基础和航空知识,对航班管理系统有一定的了解,但实践操作能力有待提高。

教学要求:教师应结合课程性质、学生特点和教学目标,采用项目驱动的教学方法,引导学生主动参与,提高学生的实践能力。

在教学过程中,注重目标分解,确保学生能够达到预定的学习成果。

同时,关注学生的情感态度价值观培养,使他们在掌握知识技能的同时,形成正确的价值观。

二、教学内容1. 航班管理系统概述- 了解航班管理系统的定义、发展历程及作用。

- 分析航班管理系统的主要功能模块。

2. 数据库技术与应用- 学习数据库的基本概念,如表、字段、记录等。

- 掌握航班信息表的创建、维护和查询方法。

3. 编程语言与开发环境- 学习一种编程语言(如Python、Java等),掌握基本语法和操作。

- 熟悉开发环境,如Eclipse、PyCharm等。

4. 航班管理系统的设计与实现- 分析系统需求,设计系统功能模块。

- 学习系统设计方法,如UML图、流程图等。

5. 航班信息管理操作- 实现航班信息的增、删、改、查功能。

航班查询系统实验报告

航班查询系统实验报告
printf(" ………………………………………\n");
printf("请输入您的选择:");
scanf("%d",&i);
printf("\n");
switch(i)
{
if(k==6)
printf("%对不起!无此航班信息! %\n");
else
{
printf("航班号起点站终点站航班期起飞时间到达时间机型票价\n");
i++;
getchar();
printf("需要继续输入吗?\n");
printf("y代表继续输入/n代表结束输入!\n");
printf("请输入y或n\n");
scanf("%c",&ch);}/k.ength=i-1;}
四、系统测试
(一)
图4输入数据
图5查询信息
图6查询信息
图7查询信息显示
for(i=1;i<k.length;i++)
{
//putchar('b');
swap=0;
for(j=1;j<=k.length-i;j++)
if(k.sl[j].others.price>k.sl[j+1].others.price)
{
tmp=k.sl[j].others.price;
k.sl[j].others.price=k.sl[j+1].others.price;
infotype others;

北航宇航课程设计

北航宇航课程设计

北航宇航课程设计一、课程目标知识目标:1. 学生能够理解宇航的基本概念,掌握宇航器的设计原理和结构组成。

2. 学生能够掌握航天器发射、轨道运行和返回的基本过程。

3. 学生能够了解我国航天事业的发展历程,认识航天领域的重大成就。

技能目标:1. 学生能够运用所学的宇航知识,分析宇航器设计中的问题,并提出合理的解决方案。

2. 学生能够通过小组合作,设计并制作简单的宇航器模型,提高动手实践能力。

3. 学生能够运用信息技术,收集、整理和分析航天领域的数据,提高信息处理能力。

情感态度价值观目标:1. 学生对宇航科学产生浓厚的兴趣,培养探索未知、勇于创新的精神。

2. 学生在学习过程中,树立团队合作意识,学会尊重他人、沟通交流。

3. 学生通过了解我国航天事业的发展,增强国家自豪感,培养爱国主义情怀。

4. 学生能够关注航天领域的最新动态,提高对科技进步的关注度。

课程性质:本课程为北航宇航课程设计,旨在让学生深入了解宇航科学,提高学生的实践能力和创新能力。

学生特点:学生处于青少年时期,对宇航科学充满好奇,具备一定的动手能力和探究精神。

教学要求:结合课程性质和学生特点,注重理论与实践相结合,培养学生的创新思维和实际操作能力。

通过分解课程目标,使学生在学习过程中达到预期的学习成果,为后续的教学设计和评估提供依据。

二、教学内容本章节教学内容紧密结合课程目标,确保科学性和系统性。

主要包括以下几部分:1. 宇航基本概念:介绍宇航的定义、宇航器分类、宇航任务等,帮助学生建立宇航科学的基本框架。

2. 宇航器设计原理:讲解宇航器的设计原则、结构组成、工作原理等,使学生了解宇航器的设计过程。

3. 航天器发射与运行:阐述航天器的发射过程、轨道运行原理、返回技术等,让学生掌握航天器的基本运行规律。

4. 宇航器模型制作:指导学生运用所学知识,设计并制作简单的宇航器模型,提高学生的实践操作能力。

5. 我国航天事业发展:介绍我国航天事业的发展历程、重大成就和未来展望,激发学生的国家自豪感。

航班信息课程设计

航班信息课程设计

航班信息课程设计一、课程目标知识目标:1. 学生能够理解并掌握航班信息的基本知识,包括航班号、起飞时间、到达时间、航班路线等概念。

2. 学生能够了解航空公司的分类及航班舱位等级,并能够区分不同舱位的服务特点。

3. 学生能够掌握航班信息的查询方法,学会使用相关工具和软件查询航班信息。

技能目标:1. 学生能够运用所学知识,独立查询并解读航班信息,为旅行计划提供参考。

2. 学生能够通过分析航班信息,合理规划旅行时间和预算。

3. 学生能够运用航班信息,进行简单的航班比较和选择,提高解决问题的能力。

情感态度价值观目标:1. 培养学生对航空旅行的兴趣,激发他们探索航空知识的热情。

2. 培养学生关注航班信息,养成良好的出行习惯,提高生活品质。

3. 增进学生对我国航空事业的了解,培养民族自豪感和爱国情怀。

课程性质:本课程为实用性较强的学科课程,结合实际生活中的航班信息需求,培养学生的信息查询、分析和应用能力。

学生特点:学生处于好奇心强、求知欲旺盛的年级,对新鲜事物充满兴趣,善于运用网络和工具进行信息查询。

教学要求:教师应注重理论与实践相结合,运用生动案例和互动教学,提高学生的参与度和积极性。

教学过程中,关注学生的个体差异,提供有针对性的指导,确保课程目标的达成。

通过本课程的学习,使学生能够掌握航班信息相关知识,为实际生活提供便利。

二、教学内容1. 航班信息基础知识:- 航班号的组成与含义- 起飞时间、到达时间、航班延误与取消- 航班路线及经停站- 航空公司分类及特点2. 航班舱位等级与服务:- 舱位等级划分及服务标准- 不同舱位的价格差异与选择建议- 舱位预订与变更操作3. 航班信息查询与处理:- 在线航班查询工具的使用- 航班信息对比与筛选技巧- 航班价格走势分析- 航班评价与参考4. 实践应用:- 制定旅行计划,选择合适航班- 预算控制与舱位选择- 航班变更与紧急应对措施教学内容安排与进度:第一课时:航班信息基础知识学习第二课时:航班舱位等级与服务介绍第三课时:航班信息查询与处理方法第四课时:实践应用,制定旅行计划本教学内容参考教材相关章节,结合课程目标进行整合,旨在确保学生系统掌握航班信息相关知识,为实际应用打下坚实基础。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机科学与工程系数据结构课程设计报告课程设计题目迷宫航班信息查询系统设计学号20114052206姓名陈宁班级B11522专业网络工程完成时间2013年1月4日指导教师崔岩侯晓芳数据结构课程设计航班迷宫1.设计内容1.1问题描述迷宫问题是取自心理学的一个古典实验。

在该试验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。

盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。

对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。

老鼠经过多次试验最终学会走通迷宫的路线。

设计一个计算机程序对任意设定的矩形迷宫求出从入口到出口的通路,或得出没有通路的结论。

即:系统总体说明:求迷宫从入口到出口的所有路径。

1.2设计要求完成功能的详细说明:(1).迷宫中不能使用递归算法查找路径。

(2).试探方向限定为上、下、左、右四个方向。

(3).迷宫采用随机生成和手工生成两种方式。

(4).生成从迷宫入口到出口的最短和最长路径。

(5).迷宫的入口和出口由键盘输入1.3开发环境在Microsoft Visual C++6.0开发平台上编写程序源代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反复输入新的数据进行验证并进一步完善。

1.4研究思路将迷宫看成是一个矩阵,用十字链表来构造矩阵使矩阵有四个方向上下左右,分别用left,right,down,up来连接。

在寻找迷宫的路径时将路径放在一个连表中,通过指针将其连接进行输入输出。

在迷宫的选择上我运用了swicth函数。

-13-2.设计步骤2.1需求分析2.2概要设计主函数矩阵迷宫查询路径表输出2.3详细设计(2)详细结构体typedef struct OLNode{int i,j;int e,d;struct OLNode*down,*up,*right,*left; }OLNode,*OLink;typedef struct{OLink*rhead,*chead;int mu,nu,tu;}Crosslist;typedef struct QNode{int g,h;struct QNode*next;}QNOde,*QueuePtr;typedef struct{QueuePtr front;QueuePtr rear;}LinkQueue;int Create(Crosslist&C)/*初始化迷宫*/int InitQueue(LinkQueue&Q,int g1,int h1)//输入int Free(LinkQueue&Q)//清空路径int Putout(LinkQueue&Q)//输出路径int Search(Crosslist*C,LinkQueue&Q)//查询路径void main(){Crosslist C;LinkQueue Q;Init(Q);Create(C);printf("\n");Search(&C,Q);}2.4调试分析(1)调试中遇到的问题由于定义的指针类型不一样,造成无法执行。

(2)在本程序中由于迷宫的大小是不定的,采用了常量存储的方式,浪费了大量的存储空间,而在寻找出路的时候,采用了试探法寻找出口,这样就给时间的节省问题带来了困难,假如才迷宫的出口路径少,而且规模不大的情况下,时间将会大大折扣,但正是由于多重不定给我们出了一个难题,但是不管怎样,时间虽然花费太长,但是减少程序的空间复杂度3.用户使用说明用户进入主菜单以后选择迷宫的生成类型,完成迷宫设置操作(手动生成学设置迷宫),设置完出入口后,系统将会自己求出所有路径(包括最长、最短路径),然后显示出来。

4.测试结果5.总结与心得体会在编译过程中,写完每一个小程序都要检验是否有语法错误,但在没有任何语法错误的情况下,可能会遭造成编译无法进行,这时就需要用一条语句对每一个语句进行检验。

6.附录#include<stdio.h>#include<stdlib.h>#define STACK_INIT_SIZE100#define STACKINCREMENT10#define overflow-1#define max-2#define ok1#define error0typedef struct OLNode{int i,j;int e,d;struct OLNode *down,*up,*right,*left;}OLNode,*OLink;typedef struct{OLink*rhead,*chead;int mu,nu,tu;}Crosslist;int Create(Crosslist&C)/*初始化迷宫*/{printf("请输入初始迷宫的行数、列数、非零数据个数:");int m,n,t;scanf("%d%d%d",&m,&n,&t);C.rhead=(OLink*)malloc((m+1)*sizeof(OLNode));if(!C.rhead)exit(overflow);C.chead=(OLink*)malloc((n+1)*sizeof(OLNode));if(!C.chead)exit(overflow);/*给迷宫开辟空间*/C.mu=m;C.nu=n;C.tu=t;int i;for(i=0;i<=C.mu;i++)C.rhead[i]=NULL;for(i=0;i<=C.nu;i++)C.chead[i]=NULL;for(i=1;i<=C.tu;i++)/*输入初始迷宫的非零元素*/{printf("请输入第%d个数据行标、列标、数值,以及访问记录:",i);int i1,j1,e1,d1;scanf("%d%d%d%d",&i1,&j1,&e1, &d1);OLink p;p=(OLink)malloc(sizeof(OLNode));p->i=i1;p->j=j1;p->e=e1;p->d=d1;if(C.rhead[i1]==NULL|| C.rhead[i1]->j>j1)/*进行行插入*/{p->right=C.rhead[i1];C.rhead[i1]=p;p->left=NULL;}else{OLink q;q=(OLink)malloc(sizeof(OLNode));q=C.rhead[i1];while(q->right&& q->right->j<j1){q=q->right;}p->right=q->right;q->right=p;p->left=q;}if(C.chead[j1]==NULL|| C.chead[j1]->i>i1)/*进行列插入*/{p->down=C.chead[j1];C.chead[j1]= p;p->up=NULL;}else{OLink q;q=(OLink)malloc(sizeof(OLNode));q=C.chead[j1];while(q->down&& q->down->i<i1){q=q->down;}p->down=q->down;q->down=p;p->up=q;}}return ok;}typedef struct QNode{int g,h;struct QNode*next;}QNOde,*QueuePtr;typedef struct{QueuePtr front;QueuePtr rear;}LinkQueue;int Init(LinkQueue Q){Q.front=Q.rear=(QueuePtr)mall oc(sizeof(QNode));if(!Q.front)exit(overflow);Q.front->next=NULL;return ok;}int InitQueue(LinkQueue&Q,int g1,int h1)//输入{QueuePtr p;Q.front=Q.rear=(QueuePtr)mall oc(sizeof(QNode));if(!Q.front)exit(overflow);Q.front->next=NULL;p=(QueuePtr)malloc(sizeof(QNode)) ;if(!p)exit(overflow);p->g=g1;p->h=h1;p->next=NULL;Q.rear->next=p;Q.rear=p;return ok;}int Free(LinkQueue&Q)//清空表{while(Q.front){Q.rear=NULL;Q.front=Q.rear;}return ok;}int Putout(LinkQueue&Q)//输出表{QueuePtr p;p=Q.front;while(p!=NULL){printf("(%d,%d)",p->g,p->h);p=p->next;}return ok;}int Search(Crosslist*C,LinkQueue &Q)//查询路径{int i1,j1,i2,j2,i,k;int g1,h1;OLink p;QueuePtr q;p=C->rhead[1];p->d=1;printf("请输入入口的位置:");scanf("%d%d",&i1,&j1);printf("请输入出口的位置:");scanf("%d%d",&i2,&j2);for(int x=1;x<2;x++){for(i=1;i<10;i++){g1=p->i;h1=p->j;printf("%d",g1);InitQueue(Q,g1,h1);printf("请输入选择的方向1上2下3左4右:");scanf("%d",&k);switch(k){case1:p=p->up;break;case2:p=p->down;break;case3:p=p->left;break;case4:p=p->right;break;default:printf("errur");break;}if(p->d!=0||p->e!=0){Free(Q);break;}if(p->i==i2&&p->j==j2){Putout(Q);printf("请输入路径的长度%d",i);break;}}}return ok; }void main(){Crosslist C;LinkQueue Q;Init(Q);Create(C);printf("\n");Search(&C,Q);}航班信息查询系统设计1.设计内容1.1问题描述航班信息查询系统提供信息的管理和使用功能,管理包括更新、添加、删除功能。

相关文档
最新文档