课程设计说明书[1]
- 格式:doc
- 大小:798.50 KB
- 文档页数:18
一。
设计题目及要求 (3)1. 题目:汽车雨刷的结构设计 (3)2. 设计要求 (3)二. 设计方案的拟定和比较 (3)1. 方案比较及确定 (3)2. 系统运动循环图 (7)五•尺寸综合、方案布置图及机构运动简图 (7)1. 综合尺寸 (7)2. 方案布置 (8)3. 机构运动简图 (8)六.机构设计验证 (9)1. 运动仿真验证(solidworks ) (9)2. 仿真曲线(solidworks ) (11)3. 解析法验证 (13)七•方案设计的方法和原理 (15)1. 课程设计的方法 (15)2. 机构设计原理 (15)九.小组自评 (16)十. 课程设计的收获和体会 (17)十一。
参考文献资料 (17)-。
设计题目及要求1.题目:汽车雨刷的结构设计自1927年电动雨刷器被发明,发展、使用至今,现代雨刷器的发展历程已经走过了几十个年头。
如今,不管是高档豪华轿车、普通民用代步车亦或笨重的货车,雨刷器都已经成为一个必不可少的组成部件。
雨刷器是安装在风窗上的重要附件。
它的作用是扫除风窗玻璃上妨碍视线的雨雪和尘土。
其所要达到的目的都是为了保证驾驶者在车内能够拥有良好的前方视野。
因此,它对于行车安全具有重要的作用。
2.设计要求:(1)刮水器的工作环境温度为:—40C —65 C。
(2)刮水器刷频率应满足实际需要。
(3)刮刷的有效面积能够保证驾驶员视野的开阔。
(4)结构强度应满足要求尽量延长使用寿命。
二.设计方案的拟定和比较1.方案比较及确定齿轮机构优点:首先,曲柄滑块机构不易磨损,寿命长,传动效果好、易于加工;其次,齿轮的减速效果明显,具有寿命长、效率高、结构紧凑等优点;最后,在齿轮机构与曲柄滑块机构相配的情况下,整体上可以实现左右刮刷的动作,从而完成清洁汽车车窗的工作。
缺点:曲柄滑块中存在间隙,精度相对较低,不易实现精确复杂的移动;没有很好的利用机构自身的运动特性(也就是说偏置曲柄滑块机构中的急回特性没有实际利用价值);制造成本相对较高,刚性传动没有过载保护作用,易产生振动和噪音。
HUNAN UNIVERSITY课程设计报告课程设计题目:指导老师:学院名称:机械与运载工程学院专业班级:组别:成员:目录第一章课程设计的目的和要求 (1)1.1.课程设计对象 (1)1.2.设计目标及要求 (1)1.3.课程设计的任务 (2)1.4. 课程设计小组任务分工 (2)第二章装配体测绘 (3)2.1. 装配体的作用及工作原理 (3)2.2. 装配体示意图 (3)2.3.零件测绘草图. (3)2.4. 尺规装配图 (3)2.5. 计算机二维装配图 (4)2.6. 计算机二维零件图 (4)第三章装配体三维建模 (12)3.1. 零件三维建模 (12)3.2. 三维虚拟装配 (17)3.3. 三维爆炸图 ............................................ 错误!未定义书签。
3.4. 典型零件参数化设计............................. 错误!未定义书签。
第四章结论及实习体会. (18)参考文献 (22)第一章课程设计的目的和要求1.1.课程设计对象(报告书中应分析和论述下列内容:(1)说明被测部件的作用及工作原理;(2)分析部件装配图表达方案的选择理由,并说明各视图的表达意义;(3)说明部件中各零件的装配关系、各种配合尺寸的表达含意、主要零件的结构形状分析、零件之间的相对位置以及安装定位的形成;(4)说明装配图技术要求应包括的必要内容和表述的含意;(5)说明装配图中的尺寸种类,这些尺寸如何确定和标注;(6)说明用AutoCAD 画装配图的步骤;(7)写出测绘实践体会与总结,提出个人对部件的良好改进与设想。
)以上说明的文字,完成报告时请删除!!。
课程设计说明书格式1. 引言在课程设计过程中,编写一份清晰、规范的说明书非常重要。
本文档将介绍课程设计说明书的格式要求,以便学生们能够编写出优秀的说明书。
2. 文档格式2.1 标题•使用一级标题(#)来表示主要章节标题•使用二级标题(##)来表示次要章节标题2.2 正文•使用正文格式书写内容,不需要额外格式化•使用段落来划分不同的内容部分•在需要强调的文字上使用重点标记(**)2.3 列表•使用无序列表(-)或有序列表(1.)来表示清单或步骤•列表项之间使用空行进行分隔2.4 引用和代码块•在引用的内容前后使用>进行标记•在代码块中使用反引号(``)或三个反引号(```)进行标记,可以指定代码语言2.5 链接和图片•使用方括号([])来标记链接文本,紧跟着的括号中写入链接URL•使用感叹号和方括号来标记图片,紧跟着的括号中写入图片URL3. 页面布局3.1 封面•封面应包括项目名称、课程名称、学生姓名、学号和日期等信息3.2 目录•在开始部分添加目录,列出主要章节和页码3.3 正文内容•根据课程设计要求,编写详细的内容3.4 结尾•展示结果分析和结论•参考文献和引用的相关资料4. 附录•在需要的情况下,可以添加附录•附录包括实验数据、代码片段等5. 附加要求•在文档中保持一致的字体和字号•使用英文单词时,需要遵循正确的拼写和大小写•使用适当的段落和章节来划分内容,保持文档结构清晰6. 结论本文档介绍了课程设计说明书的格式要求,包括标题、正文、列表、引用、代码块、链接、图片、页面布局和附加要求等方面。
编写一份符合规范的说明书能够帮助学生们更好地表达自己的设计思路和实现过程,并提高课程设计的质量。
希望本文档对学生们的课程设计工作有所帮助。
道路勘测设计课程设计道路勘测课程设计计算说明书指导老师:汪晓霞一、设计总说明1、目的和要求:通过本次课程设计,要求熟悉公路设计规范,理解、掌握《道路勘测设计》的基本概念,综合运用本课程和其他有关课程的基本知识和基本操作技能,使所学知识进一步巩固、深化和发展;学习道路路线设计的一般方法和步骤。
通过设计,培养学生初步具备正确的设计思想和动手的能力,使学生具有初步的工程设计概念;培养学生具备道路路线设计的基本技能。
根据设计所给资料,进行平、纵、横断面设计及其组合处理,完成土石方计算与调配,编制直线、曲线及转角一览表、路基设计表、路基土石方数量计算表;进行路面结构类型选择,并确定各结构层的合理厚度。
2、工程概况:本路为某矿区通往工业基地跨越重丘区一路线,主要为解决解放牌汽车运输问题,现年平均交通量990辆(折合重型载重汽车)平均年增长率为7.5%。
设计路线范围为11#~45#,路线起点11#高程为160m,终点45#高程204m。
本线一端接山区,另一端为微丘地形,中间为重丘过渡段(即本课题设计路段),该段地质情况基本稳定,除地表0.5-1.0米风化土层外,下部为石灰岩,地下水位一般较深对路基与边坡稳定影响不大。
二、道路参数1、道路技术等级的确定查《公路工程技术标准》以下简称《标准》)及其他相关资料,解放牌汽车以小客车为标准的折算系数为:1.5(包括:>19座的客车和载质量>2~7t的货车)。
当设计年限为15年,远景设计年平均交通量:)/(4087%)5.71(9905.1)1(11510日辆=+⨯=+=--n d N N γ式中:d N ——远景设计年平均日交通量,辆/日;0N ——预测初年平均日交通量,辆/日;γ——交通量年平均增长率,%;n ——远景设计年限。
查《公路工程技术标准》双车道三级公路应能适应将各种汽车折合成小客车的年平均日交通量为2000~6000辆。
本设计路线折合成小客车的远景设计年平均日交通量为4087辆,综合考虑公路工程技术标准和指标,确定该公路等级为三级公路。
教学课程设计说明书模板一、项目概述本教学课程设计说明书模板旨在为教师在设计课程时提供指导和参考。
通过本模板,教师可以详细说明课程的目标、内容、教学方法、评估方式等关键要素,为教学活动的顺利进行提供指导。
二、项目目标本项目的主要目标是设计一门符合教学要求的课程,以达到培养学生综合素质和提高学习能力的目标。
通过科学合理的教学课程设计,提高学生的学习兴趣和主动性,培养学生的创新思维和实践能力,使学生能够灵活地运用所学知识解决实际问题。
三、课程内容1. 课程介绍:简要介绍课程的背景和意义,引起学生的兴趣和学习动机。
2. 教学目标:明确课程的教学目标,包括知识、能力和素养的培养目标。
3. 课程大纲:详细列出课程的各个单元或模块,每个单元或模块包括的主题、目标、内容和学时等。
确保课程设计合理有序,能够覆盖所需的知识点和技能。
4. 教学方法:结合具体的课程内容和教学目标,选择适合的教学方法,如讲授、示范、讨论、实验、小组活动等,以促进学生的积极参与和主动探究。
5. 教学资源:列举所需的教具、实验器材、参考书籍等教学资源,确保教学过程顺利进行。
6. 评估方式:明确课程的评估方式,包括作业、考试、实验报告等。
要求评估方式与课程目标相匹配,能够全面、准确地评价学生的学习成果。
四、教学安排1. 课程周期:确定课程的教学周期,包括总学时和每周学时。
2. 教学进度:安排具体的教学进度表,每个单元或模块的学时安排和重点内容。
3. 课堂活动:设计每堂课的教学活动和教学方法,保证活动的多样性和趣味性,增加学生的参与度。
4. 作业布置:根据课程内容和学生能力水平,合理布置各类作业,以巩固和拓展学生的学习成果。
五、教学评价1. 评价标准:明确课程的评价标准,包括知识理解、能力应用、思维发展、实践操作等方面。
2. 评价方法:选择合适的评价方法,如考试、实验报告、项目展示等,以客观、公正、全面地评价学生的学习效果。
3. 评价周期:确定课程的评价周期,包括阶段性评价和总结性评价。
容易出现的问题:1.汉字字体字号不规范,英文代码不规范2.段落首行缩进(空两个汉字)3.图过大,不规范,没有居中,每个图必须有文字解释;图注与图必须在同一页,图注标号4.多余空行5.每个小节的内容不充实不完整,代码过多6.课程设计总计写成感想7.参考文献过少,格式不规范8.最后一页单独在一页,不要修改格式要求:(不按格式做严重影响成绩)正文中一级标题黑体四号顶头,二级标题宋体四号顶头,三级标题宋体小四首行缩进2个汉字。
标题编号和标题名之间1个空格。
一级标题、二级标题均设为段前段后0.5行,1.5倍行距。
正文宋体小四,首行缩进2个汉字,1.5倍行距,两端对齐。
数字和英文字符为Times New Roman最后一张表格,大家一定不要修改,并且要单独在一页上。
例如:一二1(1)(2)2(1)(2)三(一)图表表格:统一为全线表。
表内字体宋体5号。
表头在表前,宋体5号字居中,段前段后各0.5行。
表头、图注均按章内编号,如表3-3表示第3章的第3个表,图4-13表示第4章的第13个表,分隔符用短横线。
表3-3后空一个英文空格,接表名。
表后紧接的正文段落如果和表离得太近,设置该段落为段前0.5行。
汉字为宋体,英文及数字为Times New Roman正文需要引用表示时,必须写“如表2-1所示。
”*******************************************************表2-1 常见问题表游戏人才的匮乏直接影响到我国游戏的本土化自主研发,这在很大程度上抑制了国内游戏产业的发展,使得中国游戏产业的命脉被握在了韩国、日本、欧美厂商的手中,国产游戏产业也在夹缝中摸索生存的道路。
*******************************************************流程图要规范,截图大小合适(使用viso画流程图)。
图注在图后(不能分别在不同页上),宋体5号字,居中,段前段后各0.5行。
1. 零件图分析1.1 零件的功用本零件为拖拉机变速箱中倒速中间轴齿轮,其功用是传递动力和改变输出轴运动方向。
1.2 零件工艺分析本零件为回转体零件,其最主要加工面是φ62H7孔和齿面,且两者有较高的同轴度要求,是加工工艺需要重点考虑的问题。
其次两轮毂端面由于装配要求,对φ62H7孔有端面跳动要求。
最后,两齿圈端面在滚齿时要作为定位基准使用,故对φ62H7孔也有端面跳动要求。
这些在安排加工工艺时也需给予注意。
2. 确定毛坯2.1 确定毛坯制造方法本零件的主要功用是传递动力,其工作时需承受较大的冲击载荷,要求有较高的强度和韧性,故毛坯应选择锻件,以使金属纤维尽量不被切断。
又由于年产量为5000件,达到了批量生产的水平,且零件形状较简单,尺寸也不大,故应采用模锻。
2.2 确定总余量由表S-1确定直径上总余量为6mm,高度(轴向)方向上总余量为5mm。
2.3 绘制毛坯图(图S0-2)3. 制定零件工艺规程3.1 选择表面加工方法1)φ62H7孔参考表S-2,并考虑:①生产批量较大,应采用高效加工方法;②零件热处理会引起较大变形,为保证φ62H7孔的精度及齿面对φ62H7孔的同轴度,热处理后需对该孔再进行加工。
故确定热前采用扩孔-拉孔的加工方法,热后采用磨孔方法。
2)齿面根据精度8-7-7的要求,并考虑生产批量较大,故采用滚齿-剃齿的加工方法(表S-3)。
3)大小端面采用粗车-半精车-精车加工方法(参考表S-4)。
4)环槽采用车削方法。
3.2 选择定位基准1)精基准选择齿轮的设计基准是φ62H7孔,根据基准重合原则,并同时考虑统一精基准原则,选φ62H7孔作为主要定位精基准。
考虑定位稳定可靠,选一大端面作为第二定位精基准。
在磨孔工序中,为保证齿面与孔的同轴度,选齿面作为定位基准。
在加工环槽工序中,为装夹方便,选外圆表面作为定位基准。
2)粗基准选择重要考虑装夹方便、可靠,选一大端面和外圆作为定位粗基准。
3.3 拟定零件加工工艺路线方案1:1)扩孔(立式钻床,气动三爪卡盘);2)粗车外圆,粗车一端大、小端面,一端内孔倒角(多刀半自动车床,气动可胀心轴);3)半精车外圆,粗车另一端大、小端面,另一端内孔倒角(多刀半自动车床,气动可胀心轴);4)拉孔(卧式拉床,拉孔夹具);5)精车外圆,精车一端大、小端面,一端外圆倒角(普通车床,气动可胀心轴);6)精车另一端大、小端面,另一端外圆倒角(普通车床,气动可胀心轴);7)车槽(普通车床,气动三爪卡盘);8)中间检验;9)滚齿(滚齿机,滚齿夹具);10)一端齿圈倒角(倒角机,倒角夹具);11)另一端齿圈倒角(倒角机,倒角夹具);12)剃齿(剃齿机,剃齿心轴);13)检验;14)热处理;15)磨孔(内圆磨床,节圆卡盘);16)最终检验。
1.设计1 约瑟夫环问题一、需求分析1、利用单向循环链表存储结构模拟此过程,按照出列的顺序印出个人的编号,只适用于一个案例。
具体目标包括:(1)实现单循环链表的初始化;(2)理解约瑟夫环的定义,用循环找到每次报数人的序号;(3)从单循环链表中删除节点,并判断链表空与非空的临界条件。
2、构造一个含有n个元素的单向循环链表ADT CircleList{数据对象:D{ai | ai∈Elemset,i=1,2,…,n,n≥0}数据关系:R={<ai-1,ai>,<an,a1> | ai-1,ai∈D,i=2,…n}基本操作:Link InitList(int n)操作结果:构造一个含有n个元素的单向循环链表。
3、程序中,先输入总人数PN与初始密码SN,再输入输入n 个正整数,作为这n个人的密码,接下来初始密码m。
4、测试数据PN=5 SN=2 ,N 个人的密码依次= 1 4 6 4 8。
出列为:2 1 3 5 4。
二、概要设计1、函数功能在main函数中实现void main(void){int PN, SN,i;LinkList L;printf("请输入总人数PN,和出示密码SN:");scanf("%d%d",&PN,&SN);int a[N];a[0]=SN;将a[0]保存为初始密码printf("请输入%d个人各自所持的密码:\n",PN);for(i=1;i<PN+1;i++)scanf("%d",&a[i]);创建链表CreatLinkList(&L, PN);报数删人,输出结果printf("Result:\n");deldata(&L,PN,a);}2、程序包括两部分(1)结点类型(2)main函数实现约瑟夫环三、详细设计1、结点类型typedef struct Node{int data;将这一圈人按从1~PN贴上序号struct Node *next;}Node,*LinkList;LinkList ", j, p->data,a[j]);j++;i=p->data;p->data=p->next->data;q=p->next;p->next = p->next->next;free(q);}}void main(void){int PN, SN,i;LinkList L;printf("请输入总人数PN,和出示密码SN:");scanf("%d%d",&PN,&SN);int a[N];a[0]=SN;将a[0]保存为初始密码printf("请输入%d个人各自所持的密码:\n",PN);for(i=1;i<PN+1;i++)scanf("%d",&a[i]);创建链表CreatLinkList(&L, PN);报数删人,输出结果printf("Result:\n");deldata(&L,PN,a);}2.设计2 迷宫问题一、需求分析1.问题描述:算术表达式与二叉树之间存在着对应关系,编写把以前缀形式输入的合法算术表达式转换为中缀表达式,再转换为后缀表达式,并求表达式的值。
综合课程设计设计说明书一、课程目标知识目标:1. 学生能掌握课程相关的基本概念和理论知识,如XX概念、XX原理等。
2. 学生能理解课程内容与其他学科知识的联系,形成跨学科的知识体系。
3. 学生能了解课程内容在实际生活中的应用,提高理论联系实际的能力。
技能目标:1. 学生能通过课堂讨论、小组合作等方式,提高问题分析和解决能力。
2. 学生能运用所学知识,完成课程相关的实践活动,如实验操作、案例分析等。
3. 学生能运用现代信息技术,收集和整理课程相关的学习资料,提高自主学习能力。
情感态度价值观目标:1. 学生对课程内容产生兴趣,形成积极的学习态度,增强学习的内驱力。
2. 学生在课程学习过程中,培养团队合作精神,学会尊重和理解他人。
3. 学生通过课程学习,认识到所学知识对社会和个人的价值,培养社会责任感和使命感。
课程性质:本课程为综合课程,旨在通过跨学科的学习,提高学生的知识综合运用能力和实践能力。
学生特点:本年级学生具有一定的认知基础和学习能力,对新鲜事物充满好奇心,但自主学习能力和团队合作意识有待提高。
教学要求:注重理论与实践相结合,关注学生个体差异,采用多元化的教学方法和评价方式,提高学生的学习兴趣和参与度。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 课程基础知识:涵盖课本第1章至第3章,介绍基本概念、原理和公式,如XX原理、XX公式等,为学生奠定扎实的理论基础。
2. 跨学科知识融合:结合课本第4章,将课程内容与其他学科知识相融合,如数学、物理等,提高学生知识综合运用能力。
3. 实践活动:依据课本第5章,设计课程相关的实践活动,如实验操作、案例分析等,培养学生的实践能力和问题解决能力。
4. 现代信息技术应用:参考课本第6章,教授学生如何利用现代信息技术,如互联网、数据库等,收集和整理课程相关资料,提高自主学习能力。
5. 课堂讨论与小组合作:围绕课本第7章,组织课堂讨论和小组合作活动,培养学生团队合作精神和沟通能力。
机械设计课程设计说明书设计内容——( )专业:班级:姓名:学号:指导老师:吕梁学院学院矿业工程系完成时间:年月日2013 级机械设计制造及其自动化专业《机械设计课程设计》任务书学生姓名:班级:学号:一、设计题目:设计一用于带式运输机上的两级圆柱齿轮减速器二、给定数据及要求已知条件:运输带工作拉力F= 12000 N;运输带工作速度v= m/s(允许运输带速度误差为±5%);滚筒直径D= 450 mm,滚筒长度L=800mm;两班制,连续单向运转,载荷轻微冲击;工作年限5年;环境最高温度350C;小批量生产。
三、应完成的工作1.减速器装配图1张;2.零件工作图2—4张(从动轴、齿轮);3.设计说明书1份。
系主任:教研室负责人:指导教师:发题日期完成日期目录任务书.............................................................................................................................. 第一章机械传动装置的总体设计................................................................................1.1 选择电动机........................................................................................................1.1.1 电动机类型的选择..................................................................................1.1.2 电动机容量的选择..................................................................................1.1.3 电动机转速的选择..................................................................................1.2 传动比的分配....................................................................................................1.3传动系统的运动和动力参数计算.....................................................................1各轴的转速、功率和扭矩计算.....................................................................1.3.2各轴的运动参数表................................................................................... 第二章V带传动的设计..............................................................................................2.1 V带的参数设计.................................................................................................2.2 V带的主要参数表............................................................................................. 第三章齿轮的设计........................................................................................................3.1齿轮传动设计.....................................................................................................3齿轮参数设计.................................................................................................3.1.2齿轮的主要参数表................................................................................... 第四章轴的设计(输入轴)........................................................................................4.1高速轴(输入轴)的设计.................................................................................4.材料的选择和热处理.....................................................................................4..........................................................................................................................4.轴的结构设计并绘制结构草图.....................................................................4.2低速轴(输出轴)的设计.................................................................................4.材料的选择和热处理.....................................................................................4..........................................................................................................................4.轴的结构设计并绘制结构草图.....................................................................4.4低速轴(输出轴)的校核.................................................................................4..........................................................................................................................4.......................................................................................................................... 第五章联轴器的选择....................................................................................................5.1.联轴器的选择和参数......................................................................................... 第六章键联接的选择和计算........................................................................................6.1 键的选择和参数................................................................................................ 第七章滚动轴承的选择................................................................................................7.1轴承的选择......................................................................................................... 第八章箱体结构尺寸....................................................................................................8.1 箱体的结构尺寸................................................................................................ 设计小结.......................................................................................................................... 参考文献.......................................................................................................................... 附表.................................................................................................................................. 附图..................................................................................................................................min参考文献[1] —[2] —附表1 第一章各轴的运动参数表附表2 第二章V带传动的主要参数表附表3第三章齿轮的主要参数表附表4 第八章箱体的结构尺寸表附录16。
计算机科学与技术教研室 课程设计说明书
(2014-2015学年 第1学期) 课程名称 算法与数据结构课程设计 设计题目 航班信息的查询与检索系统 学号 201340405226 姓名 方佳圣 小组成员 方佳圣、刘润杰、林伟 起止时间: 2015年 1 月 7 日 至 2015 年 1 月 19 日
课程设计 评 语
在为期两周的课程设计中,该生按时到课,课堂表现良好,参与了课程设计的整个过程,实现了航班信息查询与检索系统的以下功能:对关键字、次关键字进行各种排序(选择排序、快速排序等)和查找(二分法查找等)。其课程设计说明书填写正确,条理清楚,课题设计方案合理,符号较统一;图表基本符合规范要求;能对整个设计过程进行自己的总结。对于课程设计过程介绍详细,代码正确,可见对于数据结构程序有了一定的独立编程能力并且对课本知识掌握较熟练。作品演示较熟练,能按照设计要求完成指定的功能。答辩过程中回答问题较流利,对数据结构中的顺序结构掌握熟练。但不足之处是在程序中只运用了顺序存储结构,结构较简单,没有涉及到链表,即链式存储结构。
平时成绩 报告成绩 演示与答辩成绩
成绩总评 指导教师 (签字) 年 月 日 注:成绩均用百分制。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩*40% 第 1 页
设计题目:航班信息的查询与检索系统 1、课程设计目的 (1)数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C++语言),自行实现一个较为完整的应用系统。 (2)通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。 (3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 ①掌握顺序存储结构及其相应的操作; ②熟练运用各种排序和查找学会自己调试程序并掌握了一定的技巧; ③通过温习旧的知识,学习新知识,并提高分析和解决问题的能力等。 2、课程设计正文 2.1概要设计 2.1.1 系统分析 该设计是对飞机航班信息进行排序和查找。可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信息进行查询。对于本设计,可采用排序方法对一组具有结构特征的飞机航班号进行排序,利用二分查找的方法对排好序的航班记录按航班号实现快速查找,按其他次关键字找采用最简单的顺序查找方法进行,它们用的较少。
每个航班记录包括八项,分别为:航班号、起点号、终点站、航班期、起飞时间、到达时间、机型以及票价,假设航班信息表(8条记录)如表1所示 表1 航班信息表 航班号 起点站 终点站 航班期 起飞时间 到达时间 机型 票价 CA1544 合肥 北京 1.2.4.5 1055 1240 733 960 MU5341 上海 广州 每日 1420 1615 M90 1280 CZ3869 重庆 深圳 2.4.6 0855 1035 733 1010 MU3682 桂林 南京 2.3.4.6.7 2050 2215 M90 1380 HU1836 上海 北京 每日 0940 1120 738 1250 CZ3528 成都 厦门 1.3.4.5.7 1510 1650 CRJ 1060 MU1836 昆明 西安 1.3.5.7 1015 1140 328 1160 SC7425 青岛 海口 1.3.6 1920 2120 DH4 1630
该系统主要功能包括:对航班信息进行排序和查找。 分析: (1)给数组初始化,然后用C++语言对航班信息表进行相应的排序和查找; (2)排序功能:利用快速排序、冒泡排序、选择排序、希尔排序、直接插入排序和归 第 2 页
并排序对各个关键字进行排序; (3)查找功能:利用顺序查找和二分法查找对各个关键字进行查找; 2.1.2系统结构图 系统要实现的功能:(1)排序;(2)查找。 系统结构图如图1所示。
图1 系统结构图 2.2详细设计 2.2.1数据类型定义 struct hangban h[MaxSize]; typedef struct Node RadixNode; struct Node { DataType info; //数据信息 RadixNode *next; };
主函数信息排序信息查找
按机型排序按票价(从大到 小)排序按票价(从小到 大)排序按到达时间排序按起飞时间排序
按航班号排序
按起始站查找按航班号查找按终点站查找 第 3 页
typedef RadixNode *RadixList; 2.2.2 存储结构: (1)航班的信息:为了便于查找,航班情况的存储结构采用数组格式,每个元素表示一个航班的情况,包括航班号、起始站、终点站、票价、起飞时间、到达时间、机型、班期 ,共八个数据项:
结构体的声明如下: typedef struct hangban { char num[10];//航班号 char start[10];//起始站 char finalstop[10];//终点站 int price;//票价 char starttime[10];//起飞时间 char finaltime[10];//到达时间 char type[10];//机型 char data[10];//班期 }DataType; (2)其中航班号一项的格式为: K0 K1 K2 K3 K4 K5 C Z 3 8 6 9
其中K0和K1的输入值是航空公司的别称,用两个大写字母表示,后4位航班编号,可将这种航班关键字分成两段,即字母和数字。其余七项输入内容因为不涉及本设计的核心,除票价可以定义为数值型外,均定义为字符串型即可。
2.2.3 函数声明 (1)复制函数 函数名:void copy(hangban h[],Node element[]) 操作结果:将Node的结构体变量element中的记录复制给hangban的结构体变量h 分析:定义一个指针指向element的首地址,然后将头结点中的记录复制给h[0],用
航班号 起始站 终点站 票价 起飞时间 到达时间 机型 班期 第 4 页
一个for循环,在每一次循环的最后让指针下移指向下一个地址,依次把记录复制给h[1],h[2],...,h[MaxSize-1]。 (2)选择排序函数 函数名:void sort_num() 操作结果:对航班号进行从小到大排序 分析:用两个for循环和一个if语句进行排序,排序的每一趟在n-i+1(i=1,2,...,n-i),个记录中选取航班号最小的记录作为有序序列中第i个记录。 (3)冒泡排序函数 函数名:void sort_starttime() 操作结果:对起飞时间进行从早到晚排序 分析:用一个while语句,一个for语句,一个if语句进行排序,第i趟起泡排序是从第1到n-i+1个记录依次比较相邻的两个记录的起飞时间,并在“逆序”时交换相邻记录。 (4)直接插入排序 函数名:void sort_finaltime() 操作结果:对到达时间进行从早到晚排序 分析:运用了两个for循环和if语句进行排序,先将序列中的第i个记录看成是一个有序的子序列,然后从第二个记录起逐个进行插入,直至整个序列变成按到达时间非递减有序序列为止。 (5)快速排序函数 函数名:void sort_type(int low,int high) 操作结果:对机型进行从小到大排序 分析:先用while语句进行一趟排序,然后经过递归调用在分别对分成的两部分进行快速排序,也就是通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的机型均比另一部分的机型小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序。 (6)希尔排序函数 函数名:void sort_price() 操作结果:对票价进行从小到大排序 分析:即先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,在整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。 第 5 页
(7)归并排序函数 函数名:void sort_price(int,int) 操作结果:对票价进行从大到小排序 分析:将数组中的前后相邻的两个有序序列归并为一个有序序列 (8)二分法查找函数 函数名:void search_num() 操作结果:对航班号进行查找 分析:用while语句和if语句进行查找,先确定待查记录所在范围,然后逐步缩小范围直到找到或找不到该记录为止 (9)顺序查找函数 函数名:void search_start() 操作结果:对起始站进行查找 分析:用一个for语句和一个if语句进行查找,从表中第一个记录开始,逐个进行记录的起始站和给定值进行比较,若某个记录的起始站和给定值比较相等,则查找成功,找到所查记录,反之,若直至最后一个记录,其起始站和给定值比较都不相等,则表明表中没有所查记录,查找不成功。 (10)航班信息表函数 函数名:void chart_message() 操作结果:显示航班信息表 (11)输出函数 函数名:void output() 操作结果:输出排序后的航班信息表 (12)主菜单函数 函数名:int menu() 操作结果:显示总菜单:①排序,②查找,③退出 (13)排序菜单函数 函数名:int sort() 操作结果:显示排序关键字:①航班号,②起始时间,③到达时间,④机型,⑤票价(从小到大),⑥票价(从大到小) (14)查找菜单函数