- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
胡鹏《数据结构课程设计报告2013-2014
《数据结构》课程设计报告
(2013 --2014学年 第 1 学期)
题目:校园导航系统
学号:111608020116
姓名: 胡鹏
指导教师: 方瑞英
信息科学与工程系
目录
1 需求分析 2
1.1问题分析 2
1.2基本要求 3
2概要设计 3
2.1主界面设计, 3
2.2 存储结构设计 4
2.3系统功能模块设计 4
3模块设计 5
3.1 模块设计 5
3.2 系统子程序及功能设计 5
4详细设计 6
4.1数据类型定义 6
4.2各个模块的程序流程图 7
4.3关键代码分析说明 9
5调试分析和测试结果 11
6心得体会 17
1 需求分析
河南理工大学万方科技学院紧跟龙子湖校园开发工程的历史机遇,践行“厚德、博学、笃行、创新”校训,1.2基本要求
首先是对校园整个的平面图输出;存储景点信息采用结构体;对各个景点用字母代替,字母组成图,通过对图的操作,求出制定最短路径,并且对图的整个遍历的操作。
2概要设计2.1主界面设计,
图2-1 主控界面
2.2 存储结构设计
图2-2 邻接矩阵 图2-3 校园平面图
首先,由LOC-VERTEX(G,v)找到v在图G中的位置,即v在一维数
组vexs中的序号i,则二维数组arcs中第i行上第一个adj域的值为“1”的分量所在列号j,便为v的第一个临界点在图G中的位置。通知,下一个邻接点在图G中的位置便为j列之后第一个adj的值为“1”的分量所在列号。
2.3系统功能模块
图3-1 校园导航系统流程图
3.2 系统子程序及功能设计
(1) char Menu() // 主菜单
(2) char SearchMenu() // 查询子菜单
(3) void search() // 查询景点信息
(4) void CreateUDN // 采用数组(邻接矩阵)表示法,构造无向图G
(5) void introduce() // 介绍函数
(6) void pingmu() // 屏幕输出函数
(7) void ShortestPath // 迪杰斯特拉算法最短路径函数
(8) void output // 输出函数
3.3 函数主要调用关系图
图3-2 主要函数调用关系图
4详细设计.1数据类型定义
(1) 整型类型: adj; n; P[NUM][NUM]; D[NUM]; i=0,a,j; i; v0,v1,i;flag;
i,j; v,w,i,t; a,b,c,d,q=0; final[NUM];
(2) 字符串类型:name[20]; c; ck; secret[20]; sight; description; info;
4.2各个模块的程序流程图
图4-1 查询模块流程图
图4-2 迪杰斯特拉算法流程
4.3关键代码分析说明{ int i,j;
G.vexnum=v; // 初始化结构中的景点数!! !
G.arcnum=a;// 初始化结构中的边数!!!
for(i=1;iG.vexnum;++i)
G.vex[i].number=i; // 初始化每一个景点的编号
// 初始化每一个景点名及其景点描述
G.vex[0].sight=学校简介;
G.vex[1].sight=校大门;
G.vex[2].sight=三号楼学楼;
G.vex[3].sight=一号教学楼;
G.vex[4].sight=行政楼;
G.vex[5].sight=实验楼;
G.vex[6].sight=伯苓广场;
G.vex[7].sight=秀英图书馆;
G.vex[8].sight=艺术楼;
G.vex[9].sight=一号食堂;
G.vex[10].sight=操场;
G.vex[11].sight=西区宿舍楼;
G.vex[12].sight=二号食堂;
G.vex[13].sight=篮球场;
G.vex[14].sight=力功体育馆;
G.vex[15].sight=东区宿舍楼;
// 这里把所有的边假定为32767(2^32次方),含义是这两个景点之间是不可到达 。
for(i=1;iG.vexnum;++i)
{
for(j=1;
文档评论(0)