校园导航课程设计

校园导航课程设计
校园导航课程设计

数据结构课程设计

蚌埠学院计算机科学与技术系课程设计任务书

目录

1 引言 (4)

1.1 问题的提出 (4)

1.2任务与功能简介 (4)

1.2.1任务 (4)

1.2.2功能简介 (4)

2 程序运行平台 (5)

3 总体设计与模块分析 (6)

3.1抽象数据类型定义 (6)

3.2主程序模块的整体流程 (6)

3.3各模块调用和函数关系如下 (6)

4 程序的主要功能实现 (8)

4.1 main()——主函数 (8)

4.2赋值init函数 (8)

4.3输出蚌埠学院校园导航平面图的map函数 (10)

4.4菜单menu函数 (11)

4.5输出地点信息的information函数 (12)

4.7输出路径way函数 (13)

4.8调用floyd和way的最短路径shortestpath算法 (14)

5系统测试 (15)

5.1系统运行后主界面 (15)

5.2查询最短路径 (16)

5.3查询地点信息 (17)

致谢 (19)

参考文献 (20)

附录 (21)

1 引言

为了加深对《数据结构》这一课程所学内容的进一步理解与巩固,我们这一组按课程设计要求完成了校园导航系统的设计。

1.1 问题的提出

我们这次基于对导航这个热门问题的研究设计了简易校园导航系统,我们的导航平面图中至少包括8个以上校园的场所,每两个场所间可以有不同的路,且路长也可能不同,给出校园各主要建筑的名称信息及有线路联通的建筑之间的距离,利用校园导航系统计算出给定的起点到终点之间的最近距离及线路。本导航系统能够很好的向同学们提供距离与地点的详细信息。

1.2任务与功能简介

1.2.1任务

(1)本次作业的核心是利用弗洛伊德算法计算给定有向网中两点最短距离;给出有向网中所要求点的信息。在调试过程中,除了简单语法错误外,就是对弗洛伊德算法的理解和实现,以及菜单的设置,这是我以前没有实现过的。出于简单化,并没有对有向图中各个点进行输入,而是在程序中直接赋值。

(2)在对各个功能操作的实现上,由于有弗洛伊德算法时间复杂度大多数是O(n3),空间上增加了二维数组,空间复杂度为O(n+s)。

1.2.2功能简介

程序所能达到的功能:

(1) map——输出蚌埠学院导航平面图。

(2) init()——按相应编号输入各个节点内容,对相应路径赋值的函数。

(3) menu()——菜单函数

(4) information()——输出简介的函数

(5) way()——最短路径的输出函数

(6) shortestpath()——调用弗洛伊德和最短路径输出的函数

(7) main()——主函数

2 程序运行平台

本次课程设计我们采用的运行平台是 visual C++6.0,该平台是由Visual C++6.0由Microsoft开发, 它不仅是一个C++编译器,而且是一个基于Windows 操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用有很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。Visual C++6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。

3 总体设计与模块分析

3.1抽象数据类型定义

有向网节点结构体类型

typedef struct

{

char name[10] ;

int number;

char introduce[100];

}vertex;

3.2主程序模块的整体流程

1、进入主函数,调用init,map和menu函数。

2、选择“s”,调用shortestpath函数,并同时调用floyd和way函数。并返回调用menu函数。

3、选择“i”,调用information函数。并返回调用menu函数。

4、选择“e”,退出。

3.3各模块调用和函数关系如下

4 程序的主要功能实现

4.1 main()——主函数

是程序执行的入口,主函数用于使用者便于使用者选择使用导航系统的功能int main()/*主函数*/

{

char i;

printf("\t\t\t欢迎使用蚌埠学院校园导航系统\n\n");

init();

map();/*输出地图,提示使用者*/

while (1)

{

i=menu();

switch(i)

{

case 's':shortestpath();break;

case 'i':information();break;

case 'e':printf("\n\n\n\t\t\t\t谢谢使用!\n");return 0;

default :printf("输入错误!\n");break;

}

}

}

4.2赋值init函数

init函数主要用于初始化校园平面图中的地点信息

void init()//初始化信息函数

{

int i,j;//对平面图中的各个地点信息进行输入,运用strcpy函数

ver[1].number =1;

strcpy(ver[1].name,"重行楼");

strcpy(ver[1].introduce,"教师办公场所\n");

ver[2].number =2;

strcpy(ver[2].name,"B教学楼");

strcpy(ver[2].introduce,"日常上课,学习知识的地方\n");

ver[3].number =3;

strcpy(ver[3].name,"北操场");

strcpy(ver[3].introduce,"假草,球门,尽情施展脚法的好地方\n");

ver[4].number =4;

strcpy(ver[4].name,"西大门");

strcpy(ver[4].introduce,"学生外出的常用通道\n");

ver[5].number =5;

strcpy(ver[5].name,"图书馆");

strcpy(ver[5].introduce,"查阅资料,努力学习的理想之所\n");

ver[6].number =6;

strcpy(ver[6].name,"第一食堂");

strcpy(ver[6].introduce,"校内最好的食堂\n");

ver[7].number =7;

strcpy(ver[7].name,"行政楼");

strcpy(ver[7].introduce,"行政机构\n");

ver[8].number =8;

strcpy(ver[8].name,"南操场");

strcpy(ver[8].introduce,"以男生为主的真草操场\n");

ver[9].number =9;

strcpy(ver[9].name,"学生公寓");

strcpy(ver[9].introduce,"学生休息生活场所\n");

ver[10].number =10;

strcpy(ver[10].name,"体育馆");

strcpy(ver[10].introduce,"学校的室内体育馆,遮风挡雨的理想运动场所\n");

ver[11].number =11;

strcpy(ver[11].name,"高知公寓");

strcpy(ver[11].introduce,"校职工的住宿地\n");

for(i=1;i<=Num;i++)/*对存储距离的距离矩阵取值进行初始化,全定义为最大

{

for(j=1;j<=Num;j++)

{

edge[i][j]=Maxedge;

}

}

for(i=1,j=1;i<=Num,j<=Num;i++,j++)//对存储距离的矩阵的取值进行正确赋值,由于我校均来回可达,故对路径正反同时赋值

{

edge[i][j]=0;

}

edge[1][2]=edge[2][1]=90;

edge[1][4]=edge[4][1]=110;

edge[2][3]=edge[3][2]=80;

edge[2][5]=edge[5][2]=150;

edge[3][6]=edge[6][3]=130;

edge[4][5]=edge[5][4]=200;

edge[4][7]=edge[7][4]=70;

edge[5][6]=edge[6][5]=160;

edge[5][8]=edge[8][5]=300;

edge[6][9]=edge[9][6]=60;

edge[7][8]=edge[8][7]=80;

edge[7][10]=edge[10][7]=120;

edge[8][9]=edge[9][8]=50;

edge[8][10]=edge[10][8]=30;

edge[9][11]=edge[11][9]=40;

edge[10][11]=edge[11][10]=30;

}

4.3输出蚌埠学院校园导航平面图的map函数

map函数用于显示蚌埠学院校园导航平面图,给使用程序者以直观认识

void map(){

printf("\t\t蚌埠学院校园导航平面图(括号内为相对应的数字编号)\n");

printf("\n\n");

printf("\t 重行楼(1)————B教学楼(2)—————北操场(3)

\n");

printf("\t | | |

\n");

printf("\t 西大门(4)—————一图书馆(5)————第一食堂(6)

\n");

printf("\t | | |

\n");

printf("\t 行政楼(7)————南操场(8)————学生公寓(9) \n");

printf("\t | | |

\n");

printf("\t -——————体育馆(10)————高知公寓

(11) \n");

}

4.4菜单menu函数

char menu()/*菜单函数*/

{

char i;

printf("输入“s”以查询最短路径\n");

printf("输入“i”以查询信息\n");

printf("输入“e”以退出程序\n");

printf("请输入对应的英文小写字母,谢谢:\n\t");

scanf("%s",&i);

return i;

}

4.5输出地点信息的information函数

当使用者选择显示地点信息功能时将调用此函数实现该功能

void information()/*输出简介函数*/

{

int i;

while(1)

{

printf("请输入查询地点的编号:\n\t");

scanf("%d",&i);

if(i<=Num&&i>=1)

{

printf("\n@名称:%s\n#简

介:%s\n",ver[i].name,ver[i].introduce);

return;

}

else

{

printf("输入有误!");return;}}}

4.6最短路径floyd函数

floyd算法说明:对于从v i到v j的弧,进行n次试探:首先考虑路径v i,v0,v j

是否存在,如果存在,则比较v i,v j和v i,v0,v j的路径长度,取较短者为从v i到v

的中间顶点的序号不大于0的最短路径。在路径上再增加一个顶点v1,依此类j

推,在经过n次比较后,最后求得的必是从顶点v i到顶点v j的最短路径。

void floyd()/*弗洛伊德算法*/

{

int p[Num][Num][Num];

int i=1,j=1,k=1,l=1,m=1;

for(i=1;i<=Num;i++)

{

for(j=1;j<=Num;j++)

{

shortest[i][j]=edge[i][j];

path[i][j]=0;

}

}

for(k=1;k<=Num;k++)

{

for(i=1;i<=Num;i++)

{

for(j=1;j<=Num;j++)

{

if(shortest[i][j]>(shortest[i][k]+shortest[k][j]))

{

shortest[i][j]=(shortest[i][k]+shortest[k][j]);

path[i][j]=path[j][i]=k;}}}}}

4.7输出路径way函数

way函数用于输出最短路径函数

void way(int i,int j)/*最短路径的输出*/

{

int k=0,a=i,b=j;

if(shortest[i][j]!=Maxedge)

{

printf("\n从%s到%s的最短路径为:\n",ver[i].name,ver[j].name);

printf("%s",ver[i].name);

while(path[i][j]!=0)

{

k=path[i][j];

while(path[i][k]!=0)

{

k=path[i][k];

}

printf("-到-%s",ver[k].name);

i=k;

}

printf("-到-%s;\n",ver[j].name );

printf("\n最短距离为:%d米。\n",shortest[a][b]);

printf("\n数据均为测试数据,与实际有误差,敬请谅解.\n\n");

}

else

printf("从%s不能到达%s。",ver[i].name ,ver[j].name );

}

4.8调用floyd和way的最短路径shortestpath算法

寻找最短路径

void shortestpath(){

int i=0,j=0;

while(1)

{

printf("请输入要查询的两点的编号:(以空格间隔)");

scanf("%d%d",&i,&j);

if(i<=Num&&i>0&&j<=Num&&j>0)

{

floyd();

way(i,j);

return;

}}}

5系统测试

5.1系统运行后主界面在visual中运行系统源代码

5.2查询最短路径

输入s ,查询重行楼到第一食堂的距离

再次输入s ,查询重行楼到图书馆的距离

5.3查询地点信息

输入i,查询图书馆(5)的信息

再次输入i,查寻教学楼(2)的信息

6结论

使我们加深对《数据结构》这一课程所学内容的进一步理解与巩固通过完成课程设计,逐渐培养自己的编程能力和团队合作能力;培养给出题目后,构建框架,用计算机解决的能力;

通过调试程序积累调试C程序设计的经验;

致谢

这次数据结构的课程设计是基于c语言面向过程设计语言设计的校园导航系统,让我们对软件编程语言学习也有了更深刻的认识,只有打下良好的基础才会学以致用,才会发挥出作用。在本次课程设计过程中遇到了许多困难,前期做出的系统效果不符合要求,用c语言编写的程序也出现问题,令人头疼不已,后来在经过查找相关资料,在老师同学的帮助下,终于改正了错误。完成这次课程设计任务,让我深刻的认识是程序设计对于我们专业的重要性,我们对程序设计语言的学习还是不够精通,有了这次综合实训的体会,我一定会利用课余时间更深的了解程序设计语言知识。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准,所以这个课程设计对我们的作用是非常大的。经过近一个月的制作,过程曲折可谓一波三折,点点滴滴无不令我回味无穷。

首先,对待任何工作,都要全力以赴,不能畏首畏尾。通过综合实训,我深有体会。然更重要的是,在责任心的驱使下,如何采用何种方法更省时省力,解决问题的方案很多,永远坚信“方向总比努力重要”,首先分析课题任务本身,就拿课程设计来说,课题有了,关键是往哪个方向着手。怎样去查找相关资料等等,寻找突破口充分的解决好问题。

没有经过实践永远都不会知道结果是怎样的,当实践的结果证实了你要得到的结论时那种心情真是不知如何表达。。通过本次课程设计,我真正感受到了那种快乐和喜悦!并且懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在此我非常要感谢的是我的指导老师姚保峰老师,感谢姚老师的细心认真的指导,教会我许多原来不知道的知识。这次课程设计能够顺利的完成,当然有我个人的努力,但同时也离不开指导老师的答疑解惑和同学的互帮互助。

校园导航系统---算法与分析课程设计

算法设计与分析课程设计 题目:校园导航问题 文档: 物联网工程学院物联网工程专业 学号 学生姓名 班级物联网1101 二〇一三年十二月

设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路(最短路径)。 本系统为用户提供以下功能: (一)、查询了解学校概况,为导游参观者提供关于学校的相关信息。 (二)、查询校园各个场所和景点信息; (三)、为导游者或外来人员参观人员提供校园交通信息,方便用户走访学校。完成需要操作时,退出系统 校园导航查询系统的开发方法总结如下: (1) 需求分析,了解学校各个场所与场所或者是各个景点与景点之间的信息,路径和距离,考虑该如何设计才能满足用户需求。 (2) 概要设计,对调查得到的数据进行分析,根据其要求实现的功能分析系统结构和界面将实现的基本功能。 (3) 详细设计,设计系统界面并编辑实现其各个功能的代码。 (4) 调试分析,在设计完成后,调试系统运行的状况,修改完善系统,然后进行测试。 一、需求分析 1学校以及各景点介绍模块 采用一维数组将学校景点依次排放好编号G.vex[i].number=i 在选择校园介绍的时候,弹出G.vex[0]校园简介。在选择各景点信息的时候,可按编号查询2查询最短路径(主要) 查出出发地到想要到达的景点的最短路径,初步构想采用最经典的迪杰斯特拉算法最短路径函数 3查询各点距离 将所有景点的距离显示出来。 4主菜单页面显示 提供使用者选择功能界面,按照提示进行操作。 5退出 完成需要操作时,退出系统

校园导航系统模式图 二、概要设计 2.1算法设计说明 校园导航模型是由各个景点和景点以及场所和场所之间的路径组成的,所 以这完全可以用数据结构中的图来模拟。用图的结点代表景点或场所,用图的边 代表景点或场所之间的路径。所以首先应创建图的存储结构。结点值代表景点信 息,边的权值代表景点间的距离。结点值及边的权值采用图存储。本系统需要查 询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所 以给每个景点一个代码,用结构体类型实现。计算路径长度,最短路线和最佳路 径时可分别用迪杰斯特拉(Dijkastra )算法和哈密而顿回路算法实现。最后switch 选择语句选择执行浏览景点信息或查询最短路径和距离。 2.1.1学校以及各景点介绍模块 采用了图的邻接矩阵存储结构,首先初始化每一个景点名称(一维数组) fo r(i=1;i

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

Java课程设计学生信息管理系统

面向对象程序设计》课程设计报告 级: 指导教师: 2015 年 12 月 目:《********** 》课程设计 院 : 信息工程学院 名 : 号 : 业 : 计算科学与技术

目录 目录......................................................................... 摘要......................................................................... 1........................................................................ 引言 2.设计目的与任务 ....................................................... 3.设计方案................................................................ 3.1总体设计 ....................................................... 3.2开发环境 ....................................................... 3.3层次图 ............................................................ 3.4界面预览 ....................................................... 3.4.1登录界面 ................................................... 3.4.2该管理员不存在(用户名:name 用户密码:psw ) 3.4.3学生信息管理界面........................................ 3.4.4填写学生信息.............................................. 3.4.5录入学生信息..............................................

概预算课程设计 (1)

工程概预算课程设计 学 院: 经济管理学院 专 业: 工程管理131 题 目:某居民楼建筑工程施工图预算 小组成员: 郝思琦、时磊、杨旭钊、赵啸天、 孙永超 、詹磊 《工程概预算课程设计》任务书 一、课程设计题目: 某居民楼建筑工程施工图预算。 二、课程设计目的: 1、熟悉建筑工程预算定额,掌握单位工程施工图预算的编制依据、编制内容、编制方法和步骤,掌握单位工程预算造价的基本组成。 2、培养学生运用工程造价的基本理论和基本知识、合理编制单位工程施工图预算的能力。 3、了解单位工程施工图预算在工程建设、施工企业生产经营管理、项目管理中的作用。 4、了解工程量清单计价的原理与基本步骤。 三、课程设计要求: 1、认真、全面的熟悉施工图纸,了解工程的总概况及各种构造方法。 2、根据建筑工程预算定额,对照施工图纸,对整个工程进行项目划分,划分成若干个计算子目。 3、依据建筑工程预算定额中各个分部工程的说明和工程量计算规则,对各计算子目进行工程量计算,形成工程量计算书。 4、根据分部分项工程的工程量,套用建筑预算定额,计算出直接工程费。 5、套用现行的费用定额,进行各种取费计算,汇总出工程总造价,并算出主要技术经济指标。 6、运用造价信息进行材料价差调整。 装订线

7、编写工程预算编制说明。 四、上交成果: 整理出施工图预算书并装订成册,并附工程量计算书。 五、参考资料 1、全国统一建筑工程基础定额,全国统一建筑工程基础定额工程量计算规则。 2、《河北建筑工程预算基价2008》。 3、相关概预算教材。 六、课程设计时间:1周。 编制说明 一、工程概况: 1.工程名称:河北某居民楼 2.建设地点:河北石家庄裕华区 3.建筑面积:平方米 4.本工程为砖混结构,全现浇楼板。 5.本工程结构设计使用年限为 50年,建筑结构安全等级为二级,建筑物抗震设防分类为丙类建筑。 6.抗震设防烈度为 7度(第一组),设计基本地震加速度值为,建筑场地类别为 III类。 二、编制依据: 1、全国统一建筑工程基础定额,全国统一建筑工程基础定额工程量计算规则。 2、河北城乡建设管理委员会发布的《河北建筑工程预算基价》2000年版。 3、《建设工程造价管理基础知识》。 4、其他相关概预算教材。 5、本工程相关建筑、结构施工图纸。

数据结构课程设计-校园导航

数据结构课程设计-校 园导航 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

课程设计报告 课程名称数据结构课程设计题目校园导航 指导教师 设计起始日期 5.9~5.16 学院计算机学院 系别计算机科学与工程 学生姓名 班级/学号 成绩

一、需求分析 本次实验设计的任务是实现一个简易的北京信息科技大学的校园导航平面图。设计要包括下列要求: 设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 本课题实现校园多个场所(至少10个)的最短路径求解。 (1)输入的形式和输入值的范围:本系统主要数据类型为字符型char及整形int,char型主要包括单位编号,单位名称,单位简介,功能编号;输入功能编号与单位编号进行操作。 (2 ) 输出的形式:输出则通过已有的信息数据,通过相关的操作输出相应信息。 (3) 程序所能达到的功能:本程序可供任何人使用,主要功能1.浏览各单位及简介;2.查看所有游览路线;3.选择出发点和目的地求出最佳路径;4.查看某一单位信息。 (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 a.首先看到的是校园导航系统的菜单: b.查看浏览路线等待输入起始景点: C.选择出发点与目的地等待输入起始景点与目的地编号: d.参看景点信息等待输入景点编号:

二、概要设计 本系统包含一个文件。设计分有菜单,显示信息,弗洛伊德算法,迪杰斯特拉算法,查找景点信息等程序段。主程序为整系统的入口处,菜单主要实现显示系统功能,显示信息主要实现显示景点信息,弗洛伊德算法主要实现求两景点之间最短路径,迪杰斯特拉算法实现求两景点之间最短路径,查找景点信息主要实现显示某一景点信息。 系统首先通过主程序调用void main( );进入系统主菜单函数,根据用户的选择可分别进入:1.浏览各景点及简介;2.查看所有游览路线;3.选择出发点和目的地求出最佳路径;4.查看景点信息;5.退出系统。 选择“浏览各景点及简介”项,显示十个景点的有关信息,包括景点编号,景点名称,景点简介。 选择“查看所有游览路线”项,会进入输入起始景点编号的界面,输入正确编号后会显示起始景点到其余九个景点的最短路线的方案。 选择“选择出发点和目的地”项,会进入输入起始景点与目的景点的界面,输入起始景 点与目的景点,并有空格隔开就得到两景点之间的最佳路径。 选择“查看景点信息”项,会进入输入要查看的景点的界面,如入后会显示该景点的有关信息。 选择“退出系统”项,就会退出程序。 三、详细设计 (1)十三个单位的图

课程设计范例

《数据库原理与应用》课程设计 题 目:姓 名: 网上选课系统的分析与实现 专 业: XXX 、XXX 、XXX 班 级: 计算机科学与技术 指导教师: 0905091 周 蓓 计算机科学与工程学院2011

1 系统简介 1.1 系统基本功能描述 网上选课系统是依据大学的选修课的网上申请和管理需求而进行设计的,目的是实现选修课的网上设置、申请功能。 ……[对系统功能进行简要的叙述] 1.2 系统需求分析 通过对系统需求进行分析,我们可以确定系统中有三类用户:管理员、教师和学生。各类用户的具体描述如下: (1)管理员 描述:管理员维护整个系统,包括设置选课时段,选课前学生不可登录;选课结束,学生只可查询,管理员对选课结果进行统计;查询选课情况,对学生的选课申请进行处理,进行用户管理;限制最大选课人数;排课、发布选课信息;数据备份和恢复等。 (2)教师 …… (3) 学生 …… 1.2.1 业务流程分析 (1) 网上选课系统总体业务流程图如下所示:

系统管理员 排课 选课 登录 登录 登录 学生 教师 学生选课信 息 排课信息 教师反馈 选课公告 与排课相关的信息 图1-1 系统总体业务流程图 (2) 登录子系统主要验证不同的用户身份并取得不同的用户权限,进行不同的系统操作。其业务流程图如下所示:

图1-2 登录子系统业务流程图 (3) 排课子系统主要完成设置选课时段、限制最大选课人数、排课并检测排课冲突、发布选课信息等功能。其业务流程图如下所示:

图1-3 排课子系统业务流程图 (4)选课子系统主要完成面向学生的选课功能,包括查询课程信息、提交选课申请、撤销申请、查询选课情况等。其业务流程图如下所示:

学生信息系统java课程设计

学生信息系统java课程设计

Java组件实验报告 班级:110612 学号:110612112 专业:网络工程 姓名:xxxxxxx

实验目的: 1、掌握java 图形用户界面设计常用类及其各自重要方法的应用。 2、掌握java 事件处理模式并熟练掌握lable事件单选框和复选框处理的方法。 3、进一步掌握java AWT组件、Swing组件及事件编程的各种方法。 掌握事件监听和事件处理方法。 实验内容: 1.编辑一个简单的学生信息系统。 2.要求第一行是姓名输入框。 3.第二行利用单选框来设置男女。 4.第三行是用复选框来设置四门课程。 5.最后需要把所有的学生信息输出。 实验代码: import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.swing.*; import javax.swing.border.*;

public class StudentManager { JFrame frame = new JFrame ("选课系统"); JCheckBox jcb_en = new JCheckBox("英语"); JCheckBox jcb_math = new JCheckBox("高数"); JCheckBox jcb_sport = new JCheckBox("体育"); JCheckBox jcb_physics = new JCheckBox("大物"); JLabel jl_name=new JLabel("姓名:"); JTextField jtb_name=new JTextField(); JRadioButton jrb_male = new JRadioButton("男"); JRadioButton jrb_female = new JRadioButton("女"); private Map classes=new HashMap(); JTextArea ta = new JTextArea(); //result public static void main(String args[]) { StudentManager ts = new StudentManager(); ts.go(); } private String getClasses() { if(null==classes||classes.size()<1) { return null; }else{ StringBuilder sb=new StringBuilder(); Collection values=classes.values(); Iterator it=values.iterator(); while(it.hasNext()){ sb.append(it.next()+"、"); } return "选的课程为:"+sb.toString().substring(0,sb.length()-1)+"。"; } }

单层住宅楼建筑工程施工图预算_课程设计

天水师范学院工学院 工程概预算课程设计 单层住宅楼建筑工程 施工图预算 班级10级土木一班 2013年6月5日

土木工程概预算课程设计任务书 一、土木工程概预算课程设计题目: 根据所给施工图纸和甘肃省计价依据完成工程施工图预算。 二、课程设计主要内容及要求 1、根据《建设工程工程量清单计价规范》编制分部分项工程量清单计价表; 2、根据《甘肃省建筑工程预算定额》列出各分部分项工程项目名称、定额编号、分项工程量及其相应的预算单价,编制分部分项工程定额预算表; 3、根据《甘肃省建筑工程费用构成及计算规则》规定的费用计算程序和措施费参考费率、利润率、税率,以及规费费编制某工程造价汇总表; 4、根据施工图预算编制过程中的有关需要说明的事项,编写“**工程施工图预算编制说明”。 5、计算工程量保留两位小数,费用计算保留两位小数。 6、成果答辩。 三、需提交成果: 用A4纸完成书写或打印,最后成果按如下顺序装订 1、封面 2、目录 3、施工图预算编制说明 4、分部分项工程工程量清单计价表 5、分部分项工程定额预算表 6、含税总造价计算表 7、分部分项工程量清单 四、主要参考资料: 1、《建设工程工程量清单计价规范》 2、《甘肃省建筑工程预算定额》(上、下册) 3、《甘肃省建筑工程费用构成及计算规则》 4、《“甘肃省建筑工程消耗量定额”综合解释》等 五、设计分组,

每班分三组,三组分别完成以下三个工程 1、某单层住宅楼工程 2、某二层餐厅工程 3、某办公楼工程 附录1 某单层住宅楼工程 一、场地及施工条件 1、本单层住宅建于某市市区。施工中所用材料均可由城市道路直接运进工地。施工用电均可由附近已有的水网、电网引入。 2、多孔板、架空板均由场外混凝土预制构件厂加工制作,用汽车运入工地安装,运距为5 km,其它零星混凝土预制构件均在现场预制。 3、基础持力层以上土层为普通土,地下常水位在基础底面以下。 4、土方可现场堆放,余土外运距离为3km。 5、铝合金门窗为成品安装,木门窗现场制作,刷清漆两遍。 二、建筑及结构设计说明: 1、基础采用MU10 普通粘土砖,M 5.0 水泥砂浆砌筑;半砖墙墙基防潮层用20 厚1:2 水泥砂浆(加5%防水粉)铺设;一砖墙墙基设240 x180 地圈梁一道。 2、砖墙采用MU10 普通粘土砖,M 5.0 混合砂浆砌筑;其中所有的砖墙沿墙高每 隔500 设置 6 2φ 通长钢筋加固。 3、门窗过梁采用M7.5 水泥砂浆砌筑的钢筋砖过梁,配筋为: GL-2 配 6 4φ,GL -3 配 6 3φ ,GL-4 配 6 2φ,过梁钢筋两端按规范设置弯钩,并伸入墙内250。 4、圈梁(QL)为现浇,搁板(YB)为现场预制,材料均为C20混凝土。 5、屋面预应力多孔板的规格、配筋以及混凝土含量见下表

校园导航系统

课程设计 课程名称软件工程 题目名称校园导航系统专业班级2012级网络工程应用学生姓名柴安康 学号 51202031022 指导教师储德锋 二○一五年六月一日

任务书 上机时间安排星期 周次 一二三四五 第14 周-第 17周 12网络工程 应用,1-2节 12网络工程应 用,3-4节 指导时间地点上机时间,计算机基础实验室(B521) 课程软件工程班级2012网络工程 应用 指导教师储德锋 题目校园导航系统完成时间2015年5月20日至2015年6月11日 主要内容要求完成以下功能: 1. 了解模型机的指令系统。 2. 设计模型机指令,掌握指令的执行过程。 3. 了解简单计算机内部各部件的连接,微程序控制器的设计。 4. 熟练掌握程序汇编机器码指令的含义及编写。 5. 能熟练区分直接寻址、间接寻址、寄存器寻址等各种寻址方式的不同。 设计报告要求1.封面:(格式附后) 2.课程设计任务书 3.课程设计报告: (1)需求分析 (2)功能设计 (3)程序代码设计 (4)程序设计总结 (5)心得体会和参考文献 说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(也可用以打印),文字不少于5000 字,并装订成册。 版面要求1.题目用黑体三号,段后距18磅(或1行),居中对齐;2.标题用黑体四号,段前、段后距6磅(或0.3行);3.正文用小四号宋体,行距为1.25倍行距; 4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。

分工协作说明 课题名称学生姓名学号所做的工作 校园导航系统金海侠51202032014 总体分工 指令结构总体设计夏昭明51202031005 需求分析 实地考察 陈金锁51202031010 指令具体实现夏宇峰51202031015 部分程序代码设计柴安康51202031018 调试运行 杨辉51202031022 心得体会 格式调整 代码指令的共同调试

管理信息系统课程设计案例完整篇.doc

管理信息系统课程设计案例1 (一)背景 某医院是一家以中医为主、中西医结合、中等规模的三级甲等医院医院。该医院有开放床位450张,年门诊量25万左右人次,年住院病人6000—8000人次。由于该院是—所建于20世纪50年代的老医院,几十年延续下来的陈旧的管理思想和僵化的管理模式。已经远远不能满足病人的需求及适应时代的发展。在管理中主要存在以下一些难题: 1.手工模式下的门诊收费管理,病人需先拿着医生的处方,以下便是第1页的正文: 案例:医院信息管理系统的分析与设计 (一)背景 某医院是一家以中医为主、中西医结合、中等规模的三级甲等医院医院。该医院有开放床位450张,年门诊量25万左右人次,年住院病人6000—8000人次。由于该院是—所建于20世纪50年代的老医院,几十年延续下来的陈旧的管理思想和僵化的管理模式。已经远远不能满足病人的需求及适应时代的发展。在管理中主要存在以下一些难题:1.手工模式下的门诊收费管理,病人需先拿着医生的处方单排队划价,然后到收费处排队交钱,再凭发票到门诊药房排队取药。这中间,病人排队时间长,划价收费人员出错环节多。 2.医院在对药品的管理中存在一定的困难。其一,药品的

盘点工作时间过长;其二,药品库存难以及时掌握;其三,由于药品调价频繁,新的价格不能及时执行。 3.手工模式下的住院管理,病人病历号会产生一人多号或跳号现象,造成病案统计的混乱;记账时,要由护士到住院药房取药后,再到住院处记账,不能做到及时、准确;病人住院期间的各项检查及治疗费用由医务人员传送到住院处,中间环节多,费时费力;病人账户余额不能及时掌握,易出现欠费、漏费现象。 长久以来,落后的管理手段已经成为困扰该院的一个迫切需要解决的问题。为了满足该医院的管理要求,提高该院的工作效率,改进医疗质量,该院建立起了自己的医院信息管理系统。系统包括:门诊、住院、药库、财务、总务、器械六大模块。 (二)系统分析 1.组织结构 (1)组织结构概况 该院的组织结构如图所示。 (2)管理职能分析 根据该院的实际情况,我们的主要任务是实现以经济信息管理为中心,对医院的收入、支出准确管理,包括药库管理系统、门诊管理系统、住院管理系统、财务管理系统、总务管理系统、器械管理系统。下面仅以门诊管理系统所涉及到的内容进行说明:药剂科包括供应组、药房(库房和会计组)和各药房(门诊药房和住院药房)。

Java课程设计-教务系统管理-

哈尔滨理工大学荣成学院Java课程设计 班级:软件工程班 学号: 姓名: 联系电话: 电子邮件: 完成日期:

一设计目标 本课程设计整体目标是通过建立一个成绩管理系统,考核学生对本门课程 的掌握情况,要求学生完成该管理系统相关的数据库设计和操作相关的内容。具体要求: ●完成以下红色斜体部分的相关内容(追加部分仍然保留用红色书写)。 ●每位学生要独立完成所有的相关内容,如有抄袭,抄袭和被抄袭者均无成绩。 ●可以发挥创造力对系统进行扩充,要求明确扩充的理由。 ●字体规整,格式要规范,图表要清晰,文件名:Java 课程设计_学号_姓名。 ●成绩评定:内容完整(30%)、内容准确(20%)、内容规范清晰(20%)、创 新(10%)以及平时考核(20%)。 二系统概要 学生成绩管理系统是教务管理的一部分,利用计算机进行管理可以极大程度上提高管理的效率,设计思想如下: 系统包括三种用户:管理员,教师和学生。 管理员功能:维护数据管理的各种基本信息。 包括:学生信息维护、教师信息维护、课程信息维护、教师配课、学生选课。 教师功能:成绩登记和成绩统计。 学生功能:本人成绩查询。

所有用户都要通过用户名和口令登陆系统。 三 系统模块设计 系统登录:管理员、教师和学生必须通过口令登录才能使用系统。 基本信息维护:对用户信息(登录用户名和口令)、学生、教师、课程信息进行 增删改查,还包括对教师配课、学生选课信息的增删改查,由系统管理员进行。 成绩管理:成绩登录和成绩统计功能,由教师进行。 成绩查询:学生可以查询自己的成绩。 1.管理员 (1).添加教师名单;(2).查询教师名单;(3).修改教师信息;(4).删除教师名单(5).添 加学生名单;6).查询学生名单;(7).修改学生信息;(8).删除学生名单;(9).统计生 源地信息;(10).修改密码; 教学管 理系统 系统登 录 基本信 息维护 信息查 询 成绩管 理 用户信 息 课程信 息 教师信 息 学生信 息 成绩登 录 成绩统 计 成绩查 询 配课信 息 选课信 息

建筑工程预算课程设计

建筑工程预算课程设计 一、工程名称: 范例五工程施工图预算 二、工程内容: 工程范围内所涉及的建筑与结构内容,具体包括:图纸范围内楼地面、墙面、顶棚、门窗、楼梯、栏杆、外墙、土石方、全部混凝土量;钢筋与模板只需计算基础、柱与顶层的梁板部分。 三、设计目的: 通过编写范例五工程施工图预算,熟悉建筑工程预算定额子项内容,能够正确找到分部分项工程所对应的定额编号,掌握施工图预算的编制过程、方法及要求。 四、编著要求要求: 1、预算内容包括:封面、编制说明、工程预算表、价差汇总表、工程造价取费表等。 2、本预算采用工料单价法编制。 3、定额采用《2004年江西省建筑工程定额》、《2004年江西省装饰装修工程定额》,定额中缺项部分采用市场价形式,市场价自定,只计税金。 4、工程取费费率采用江西省现行费用定额,工程所在地为南昌市。 5、价差调整:人工按江西省现行文件执行,材料单价见附表,价差部分只计税金。 五、设计时间:17周 六、参考资料 1、《建筑工程计量与计价》主编:胡洋、孙旭琴等 2、施工图纸与相关定额。 3、类似工程的施工图预算。 主要材料价格汇总表

3 螺纹钢筋Φ20以内t 3530 4 螺纹钢筋Φ20以外t 3510 5 钢管(脚手架与支架用) t 3480 6 水泥 32、5 kg 0、4 7 水泥 42、5 kg 0、42 8 水泥 52、5 kg 0、45 9 中(粗)砂m3 60 10 卵石m3 90 11 木胶板m2 20 12 粘土空心砖240*115*90 百块60 13 加气混凝土砌块m3 260 14 水m3 2、35 15 16 17 合计

校园导航系统源代码

数据结构-校园导航系统 简介:本系统采用C语言编写,运行环境为Dev-C++; 容以电子科技大学南校区为例; 主要功能有:1.查询景点信息;2.查询两景点间最短距离;3.查询两景点间所有路线;4.查询西电校园地图;5.修改景点和路径信息. 注意事项:在进行修改景点和路径信息操作前,请在可执行文件目录下用记事本创建”superUser.CODE”文件来存放用户名与密码(中间以空格隔开),否则无法进入.

源代码: #include #include #include #include #include #define Max 20000 typedef struct ArcCell { int adj; //两个景点间的距离 }ArcCell; typedef struct VertexType { int number; //景点编号 char sight[100]; //景点名称 char description[1000]; //景点简介

char particular1[1000]; char particular2[1000]; char particular3[1000]; //景点详情 }VertexType; typedef struct { VertexType vex[20]; //最多存放20个景点信息ArcCell arcs[20][20]; //两个景点间的距离 int vexnum,arcnum; }MGraph; MGraph G; char nameofschool[100]; //学校名称 int NUM=9; int P[20][20]; int p[20]; int visited[20]; int a=0; long int D[20]; int x[20]={0}; //函数声明 void CreateUDN(int v,int a); void narrate(); void ShortestPath(int num); void output(int sight1,int sight2); char Menu(); void search(); char SearchMenu(); void HaMiTonian(int); void Searchpath1(MGraph g); void disppath(MGraph g,int i,int j); void path(MGraph g,int i,int j,int k); void NextValue(int); void display(); int Addnewsight(int n); int Deletesight(int n); void Changesight(); char Changemenu(); char Sightmenu(); int Maintain(void); int VerificatianIdentity(void); void map();

数据结构课程设计-校园导航

课程设计报告 课程名称数据结构课程设计题目校园导航 指导教师 设计起始日期 5.9~5.16 学院计算机学院 系别计算机科学与工程 学生姓名 班级/学号 成绩

一、需求分析 本次实验设计的任务是实现一个简易的北京信息科技大学的校园导航平面图。设计要包括下列要求: 设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路, 且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 本课题实现校园多个场所(至少10个)的最短路径求解。 (1)输入的形式和输入值的范围:本系统主要数据类型为字符型char及整形int,char 型主要包括单位编号,单位名称,单位简介,功能编号;输入功能编号与单位编号进行操作。 (2 ) 输出的形式:输出则通过已有的信息数据,通过相关的操作输出相应信息。 (3) 程序所能达到的功能:本程序可供任何人使用,主要功能1.浏览各单位及简介; 2.查看所有游览路线; 3.选择出发点和目的地求出最佳路径; 4.查看某一单位信息。 (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 a.首先看到的是校园导航系统的菜单: b.查看浏览路线等待输入起始景点: C.选择出发点与目的地等待输入起始景点与目的地编号: d.参看景点信息等待输入景点编号: 二、概要设计 本系统包含一个文件。设计分有菜单,显示信息,弗洛伊德算法,迪杰斯特拉算法,查找景点信息等程序段。主程序为整系统的入口处,菜单主要实现显示系统功能,显示信息主要实现显示景点信息,弗洛伊德算法主要实现求两景点之间最短路径,迪杰斯特拉算法实现求两景点之间最短路径,查找景点信息主要实现显示某一景点信息。

java课程设计_学生信息管理系统方案

一.引言 1.1项目的名称 学生信息管理系统 1.2项目背景和目标 学生信息管理系主要对在校学生的个人基本信息以及成 绩信息进行管理,对教师用户提供查询信息、增添信息、 删除信息等操作功能;对学生用户提供成绩查询功能。我 们的目标就是为该系统提供后台连接数据库程序设计以 及前台用户界面设 1.3项目的可行性研究 设计此系统需要java面向对象编程基础,数据库应用知 识以及功能分析。根据目前所开设的课程,学生已经具备 这样的知识,有能力综合java编程知识和数据库应用知 识做出一个这样的学生信息管理系统 二、需求分析 2.1系统概述 此系统提供给教师用户和学生用户。教师登陆后可以对

学生基本信息表和学生成绩表进行查看、增添新记录和删除记录等操作。学生登陆后能查询自己的成绩 2.2系统运行环境 Java运行在eclipse软件上,数据库用mysql数据库 2.3功能需求描述 学生信息管理系统要面对教师和学生用户。对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。对于学生,不需要查询自己的基本信息,只需要查询成绩。为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩 三、系统设计 3.1开发与设计的总体思想 教师方面:教师通过自己的用户名和密码登录后,进入教 师主界面,在这个主界面里,可以选择要操作的类别,即查 询功能还是修改功能。在查询功能里面,可以选择是查询学 生基本信息,还是查询学生成绩信息。在查询学生基本信息 时,可以从依据不同字段,即学生信息表的不同属性进行查 找。在查找学生成绩信息时,只能依据学生和学号进行查找。

概预算课程设计-土木

建筑工程概预算课程 设计 姓名: 学号: 专业: 班级: 指导老师: 二零一三年六月十日

目录 工程概预算课程设计任务书 (2) 工程概预算课程设计计算书 一、工程概况 (4) 二、基本依据 (4) 三、施工图预算编制说明 (4) 四、工程量计算规则说明 (4) 五、分项工程费工程量计算表 (5) 六、分项工程取费表 (13) 七、分项工程费汇总表 (14) 附录 一、建筑设计说明 (15) 二、结构设计说明 (16) 三、设计图纸附后 (17)

工程概预算课程设计任务书 一、工程概预算课程设计题目 根据所给施工图纸和河北省消耗量定额完成分部分项工程施工图预算。 二、课程设计主要内容及要求 1、根据《河北省建筑工程消耗量定额》及《河北省建筑工程工程量计算规则》列出定额项目,并计算相应定额工程量,并编制工程量计算表; 2、根据《河北省消耗量定额》(2008版)套用相应定额项目单价,并编制分部分项工程取费表(可以利用EXCEL) 3、编制分项工程造价汇总表 注:以上三项工作手工完成,可以利用EXCEL完成表格编制和数据计算。 4、根据施工图预算编制过程中的有关需要说明的事项,编写“**工程施工图预算编制说明” 三、需提交成果: 用A4纸完成书写或打印,最后成果按如下顺序装订 1、封面 2、目录 3、施工图预算编制说明(自己编写) 4、表1.1分项工程费工程量计算表 5、表1.2 分项工程取费表(手算) 6、表1.3 分项工程费汇总表 四、进度要求:(共7天) 1、定额工程量计算和定额项目套用3天;

2、建筑工程费用计算2天 3、整理设计资料2天 五、主要参考资料: 1、《河北省建筑工程工程量计算规则》 2、《河北省建筑工程消耗量定额》 六、设计分组, 每五人一组(班长分组,并将分组情况报送指导老师),分别完成以下分项工程 1、混凝土工程和模板工程 2、砌体工程和钢筋工程 3、基础工程和土方工程

校园导航系统

题号:第七题 题目:校园导航问题 1,需求分析: 设计你的学校的平面图,至少包括10个以上的景点(场所),每两个景点间可以有不同的路,且路长也可能不同,找出从任意景点到达另一景点的最佳路径(最短路径)。 要求: (1)以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。 (4)修改景点信息。 实现提示: 一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。顶点和边均含有相关信息。 选做内容: (1)提供图的编辑功能:增、删景点;增、删道路;修改已有信息等。 (2)校园导游图的仿真界面。 2,设计: 2.1 设计思想: <1>,数据结构设计: (1)图。采用邻接矩阵存储,其中图所用到的结构体为: typedef struct

{ SeqList vertices; //表示图中的顶点 int Edge[MaxVertices][MaxVertices]; //表示图中的边 int numOfEdge; //表示图中边的数目}AdjMGraph; (2)景点。用顺序表存储。所用到的结构体为: typedef struct { char name[20]; //顶点名称 int code; //顶点代号 char introduction[50]; //顶点信息简介 }DataType; (3)景点之间的连接描述,所用到的结构体为: typedef struct { int row; int col; int weight; }RowColWeight; 用图来存放所提供的所有景点,然后用线性表来存放每一个景点的信息,其中包括景点的名称,代号,信息简介,以及其它的一些信息。这样就将对景点的操作,变成对图中各顶点的操作。 <2>,算法设计: 关于本课题的算法,很大部分来源于这学期数据结构课程的学习,其中包括:

校园导航课程设计

数据结构课程设计

蚌埠学院计算机科学与技术系课程设计任务书

目录 1 引言 (4) 1.1 问题的提出 (4) 1.2任务与功能简介 (4) 1.2.1任务 (4) 1.2.2功能简介 (4) 2 程序运行平台 (5) 3 总体设计与模块分析 (6) 3.1抽象数据类型定义 (6) 3.2主程序模块的整体流程 (6) 3.3各模块调用和函数关系如下 (6) 4 程序的主要功能实现 (8) 4.1 main()——主函数 (8) 4.2赋值init函数 (8) 4.3输出蚌埠学院校园导航平面图的map函数 (10) 4.4菜单menu函数 (11) 4.5输出地点信息的information函数 (12) 4.7输出路径way函数 (13) 4.8调用floyd和way的最短路径shortestpath算法 (14) 5系统测试 (15) 5.1系统运行后主界面 (15) 5.2查询最短路径 (16) 5.3查询地点信息 (17) 致谢 (19) 参考文献 (20) 附录 (21)

1 引言 为了加深对《数据结构》这一课程所学内容的进一步理解与巩固,我们这一组按课程设计要求完成了校园导航系统的设计。 1.1 问题的提出 我们这次基于对导航这个热门问题的研究设计了简易校园导航系统,我们的导航平面图中至少包括8个以上校园的场所,每两个场所间可以有不同的路,且路长也可能不同,给出校园各主要建筑的名称信息及有线路联通的建筑之间的距离,利用校园导航系统计算出给定的起点到终点之间的最近距离及线路。本导航系统能够很好的向同学们提供距离与地点的详细信息。 1.2任务与功能简介 1.2.1任务 (1)本次作业的核心是利用弗洛伊德算法计算给定有向网中两点最短距离;给出有向网中所要求点的信息。在调试过程中,除了简单语法错误外,就是对弗洛伊德算法的理解和实现,以及菜单的设置,这是我以前没有实现过的。出于简单化,并没有对有向图中各个点进行输入,而是在程序中直接赋值。 (2)在对各个功能操作的实现上,由于有弗洛伊德算法时间复杂度大多数是O(n3),空间上增加了二维数组,空间复杂度为O(n+s)。 1.2.2功能简介 程序所能达到的功能: (1) map——输出蚌埠学院导航平面图。 (2) init()——按相应编号输入各个节点内容,对相应路径赋值的函数。 (3) menu()——菜单函数 (4) information()——输出简介的函数 (5) way()——最短路径的输出函数 (6) shortestpath()——调用弗洛伊德和最短路径输出的函数 (7) main()——主函数

机器人课程设计报告范例

机器人课程设计报告范例

**学校 机器人课程设计名称 院系电子信息工程系 班级10电气3 姓名谢士强 学号107301336 指导教师宋佳

目录 第一章绪论 (2) 1.1课程设计任务背景 (2) 1.2课程设计的要求 (2) 第二章硬件设计 (3) 2.1 结构设计 (3) 2.2电机驱动 (4) 2.3 传感器 (5) 2.3.1光强传感器 (5) 2.3.2光强传感器原理 (6) 2.4硬件搭建 (7) 第三章软件设计 (8) 3.1 步态设计 (8) 3.1.1步态分析: (8) 3.1.2程序逻辑图: (9) 3.2 用NorthStar设计的程序 (10) 第四章总结 (12) 第五章参考文献 (13)

第一章绪论 1.1课程设计任务背景 机器人由机械部分、传感部分、控制部分三大部分组成.这三大部分可分成驱动系统、机械结构系统、感受系统、机器人一环境交互系统、人机交互系统、控制系统六个子系统现在机器人普遍用于工业自动化领域,如汽车制造,医疗领域,如远程协助机器人,微纳米机器人,军事领域,如单兵机器人,拆弹机器人,小型侦查机器人(也属于无人机吧),美国大狗这样的多用途负重机器人,科研勘探领域,如水下勘探机器人,地震废墟等的用于搜查的机器人,煤矿利用的机器人。如今机器人发展的特点可概括为:横向上,应用面越来越宽。由95%的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现;纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明 1.2课程设计的要求 设计一个机器人系统,该机器人可以是轮式、足式、车型、人型,也可 以是仿其他生物的,但该机器人应具备的基本功能为:能够灵活行进,能感知光源、转向光源并跟踪光源;另外还应具备一项其他功能,该功能可自选(如亮灯、按钮启动、红外接近停止等)。 具体要求如下: 1、根据功能要求进行机械构型设计,并用实训套件搭建实物。 2、基于实训套件选定满足功能要求的传感器; 3、设计追光策略及运动步态; 4、用NorthStar设计完整的机器人追光程序;

相关文档
最新文档