- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                校园导航系统课程设计报告
班级:10网络工程
学号:110263100145
姓名:欧玉凤
一:需求分析
系统要求:
设计一个校园导游程序,为来访的客人提供各种信息查询服务设计学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。为来访客人提供图中任意景点相关信息的查询。提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。switch语言离开实现函数功能的转换。
界面设计
系统菜单(menu())
(1)、登陆管理员系统( userpwd();settingpwd();)
 ①、修改密码(alterpwd();)
②、景点信息的修改(alter();此函数和调用函数能存进修改信息,但查询时不能查到修改后的信息)
i、按景点编码修改(	alternum();)
ii、按景点名称修改(altername();)
iii、增加景点信息(alterirc();)
iv、返回管理员菜单(mainmenu();)
③、增加景点(sigthirc();此函数做不出来)
④、设置交通管制(不会设置交通管制的时间)
⑤、返回系统菜单(menu();)
⑥、退出系统(exit(0);)
(2)、学校简介
(读文件0)
(3)、景点信息查询(SearchMenu();)
①、按经典编号查询
②、按景点名称查询
③、查询全部经典信息(dushuju();)
④、返回系统菜单(menu();)
、景点路径查询
(ShortestPath(v0);output(v0,v1);)
(5)、景点间距查询(void ShortestPath(int num))
4、数据类型及结构
#define Max 32767
const MAX_V=20;
#define NUM 11//最大景点的个数
typedef struct ArcCell{
	int adj; // 相邻接的景点之间的路程 
	struct ArcCell *nextarc;//
	char *info;//指向该弧的相关信息指针
}ArcCell,*ArcNodeP;// 定义边的类型 
typedef struct VertexType{
	int number; // 景点编号 
	ArcCell *firstarc;
	char *sight; // 景点名称 
	char *description; // 景点描述 
}VertexType,AdjList[MAX_V];; // 定义顶点的类型 
typedef struct{
	VertexType vex[NUM]; // 图中的顶点,即为景点
	AdjList vertices;  
	ArcCell arcs[NUM][NUM]; // 图中的边,即为景点间的距离 
	int vexnum,arcnum,kind; // 顶点数,边数 
}MGraph; // 定义图的类型 
MGraph G; 
//密码数据类型
    char userName[9];
	char name[9];
    char userPWD[7];
	char PWD[7],pwd[7];
    int i;
	FILE *fp;//文件
    char NAME[9],USERPWD[7];
// 修改函数数据类型
	char MM[100],NN[100],AA[1000], m[2000],xxjj[1000];
5、基本算法
    迪杰斯特拉算法思想
按路径长度递增次序产生算法:  把V分成两组:  (1)S:已求出最短路径的顶点的集合  (2)V-S=T:尚未确定最短路径的顶点集合  将T中顶点按最短路径递增的次序加入到S中,  保证:(1)从源点V0到S中各顶点的最短路径长度都不大于  从V0到T中任何顶点的最短路径长度  (2)每个顶点对应一个距离值  S中顶点:从V0到此顶点的最短路径长度  T中顶点:从V0到此顶点的只包括S中顶点作中间  顶点的最短路径长度  依据:可以证明V0到T中顶点Vk的最短路径,或是从V0到Vk的  直接路径的权值;或是从V0经S中顶点到Vk的路径权值之和#define Max 32767//最大值∞
#define NUM 11//最大顶点个数
typedef struct ArcCell{
	int adj; // 相邻接的景点之间的路程 
	char *info;
}ArcCell; // 定义边的类型 
typedef struct VertexType{
	int number; // 景点编号 
	char *sight; // 景点名称 
	char *descr
                
原创力文档
                        

文档评论(0)