logo资料库

数据结构课程设计-校园导游图.doc

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
一.问题描述
二、程序设计
三、运行结果:
四、总结
附录:
齐 齐 哈 尔 大 学 计控学院 数据结构课程设计 选题名称: 系(院): 专 班 姓 业: 级: 名: 学 号 : 指导教师: 校园导游图 计算机与控制工程学院 软件工程 软件121班 刘泽强 2012023019 吴 迪 2014 年 7 月 1 日 1
数据结构课程设计评分表 软件 121 指导教师 姓名 刘泽强 吴迪 班级 题目: 数据结构课程设计 评分标准 分数权重 评分标准 评分的依据 A C 得分 工作态度 10 态度端正,能主动认真 完成各项内容,不迟到 早退,出勤好。 能够完成各环节基本工 作,出勤较好。 程序设计,完 成及运行情况 20 功能达到设计要求,程 序稳定、界面美观、符 合规范、程序易读、完 成率 100%、程序运行正 确。 功能实现了大部分,程 序较稳定、界面可用性 一般、程序有注释、完 成率不足 70%。 相关文档 40 答辨问题回答 30 格式规范,层次清晰, 设计思想明确,解决问 题方法合理,文档编写 完整规范,编写过程符 合软件工程开发设计流 程等。 能准确回答老师提出的 问题,并充分理解数据 库开发技术,程序逻辑 清晰。 总分 格式较规范,设计思想 基本明确,解决问题方 法较合理,基本遵循软 件工程开发流程。 能基本准确回答老师提 出的问题 指导教师(签字): 注:介于 A 和 C 之间为 B 级,低于 C 为 D 级和 E 级。按各项指标打分后,总分 90~100 为优,80~89 为良,70~79 为中,60~69 为及格,60 分以下不及格 2
目录 一、问题描述.....................................................................................4 二、程序设计.....................................................................................5 三、运行结果:.................................................................................8 四、总结........................................................................................... 11 附录:...............................................................................................12 3
一.问题描述 设计你所在的学校的校园平面图,所含景点不少于 10 个。以图中顶点表示 校内各景点,存放景点的名称、代号、简介等信息;以边表示路径,存放路径长 度等相关信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的最 短的简单路径。 4
二、程序设计 1.用数据结构知识创建校园图。 void creatgraph(vexnode g[],int *n, EdgeType e[],adjmax *adj) // 创建校园图 { int b,i,s,d,len; struct edgenode *p,*q; //定义图的结构体 2.手动给校园图赋上相关信息(景点名称、代号、简介),路径及路径长度。 得到一个模拟的校园图: 图 2.2 3.利用 C 语言知识编写查找景点相关信息的程序。 手动创建一个校园图 creat(Matrix_Graph *G),然后为相应的边赋上真 正的值。 主要代码: do{ printf("是否继续? Y/N"); 5
scanf("%c",&ch); getchar(); if(ch == 'Y' || ch == 'y') //继续 { flag = 1; i = 1; printf("请输入您要查询的景点序号:\n"); scanf("%d",&len); getchar(); printf("此景点的名称是:"); Name(len); printf("此景点的介绍是:"); Information(len); 4.利用迪杰斯特拉算法计算任意两点之间的最短路径。 用 path 函数来求任意两景点之间的最短路径。 while(c<=N) { t=MAX; for(i=1;i<=N;i++) if(flag[i]&&G->arcs[s][i]arcs[s][i];v=i;r[v][1]=v;} for(i=1;i<=c;i++) for(j=1;j<=N;j++) if(flag[j]&&d[i]+G->arcs[T[i]][j]arcs[T[i]][j];v=j; if(r[v][0]!=-1) { } u=1; while(r[T[i]][u]!=0) { r[v][u]=r[T[i]][u];u++;} r[v][u]=v; 6
} r[v][0]=-1; T[c]=v; flag[v]=0; d[c]=t; c++; } 5.最后用一个主函数 main 输出各项结果。 用 switch 语句分别输出,要创建校园图时调用 creatgraph 函数;查找景点相关 信息时调用 travgraph 函数;要查找任意两景点之间的最短路径时,先输入你目 前所在的位置,再输入你的目的地,最后调用 path 函数。 7
三、运行结果: 1.运行结果界面: 图-3.1 8
分享到:
收藏