- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计目的
设计一个学校的导游系统,方便游客游览我们学校。
二. 设计内容
为来访的客人提供各种信息查询服务。
主要包括:
①查看学校的全景图
②各个景点的简介
③学校主要景点的分布
④查看某一景点到其它所有景点的最短路径
⑤查询任意两个景点之间的最短路径。
三.概要设计
1.功能模块图;
main
main
IniGraphbrowser
IniGraph
browser
S
Shortestpath_dij
serch
serch
mapprim
map
prim
print
print
menu
menu
cmd
cmd
2.功能模块详细介绍;
(1)main: 主函数
(2) browser:
(3) IniGraph:初始化学校地图,给出景点的详细信息,以及景点之间的距离。
(4) Shortestpath_dij:迪杰斯特拉算法,用于求两个景点之间的最短路径。
(5) serch:供游客查询单个景点的详细信息
(6) prim:普利姆算法,用于得出最佳布网方案。
(7) map:无参函数,打印学校的全景图。
(8) menu:游客的输入界面。
(9) print:打印相应的游览路线。
(10) cmd:输入相应的选择进行不同的游览方式。
四.详细设计
search1.功能函数的调用关系图
search
prim
prim
S
Shortestpath_dij
Cmd
Cmd
Main
print
print
browser
browser
iniGraph
iniGraph
menumap
menu
map
2.各功能函数的数据流程图
无参函数,打印平面图map
无参函数,打印平面图
map
图存在且非空打印路线,文件存储
图存在且非空
打印路线,文件存储
输入起止点标号,非法则提示再次输入
Prim
输入起点编号,非法提示,再次输入图存在且非空Dij
输入起点编号,非法提示,再次输入
图存在且非空
Dij
依次输入,到各个景点最短距离
依次输入,到各个景点最短距离,文件存储
无参函数,
无参函数,菜单栏
Menu
无向网初始化,得到景点距离,以及信息InitGraph
无向网初始化,得到景点距离,以及信息
InitGraph
打印景点信息图存在且非空B
打印景点信息
图存在且非空
Browser
For循环控制结点数目
For循环控制结点数目,并打印。
图存在且非空Print
图存在且非空
Print
3.重点设计及编码
创建结构体,表示景点,成员为编号,名称,简介
typedef struct //图中顶点表示主要景点,存放景点的编号、名称、简介等信息,
{
char name[30];
int num;
char introduction[100];//简介
}infotype;
Prim算法:
void prim(MGraph *G)
{
FILE *fp;
fp=fopen(D:sight.txt,at+);
if(fp==NULL)
printf(fail to open!!\n);
else
{
int v,u,i,w,k,j,flag=1,p[10][10][10],D[10][10];
for(v=0;vG-vexnum;v++)
for(w=0;wG-vexnum;w++)
{
D[v][w]=G-arcs[v][w].adj;
for(u=0;uG-vexnum;u++)
p[v][w][u]=0;
if(D[v][w]INFINITY)
{
p[v][w][v]=1;p[v][w][w]=1;
}
}
for(u=0;uG-vexnum;u++)
for(v=0;vG-vexnum;v++)
for(w=0;wG-vexnum;w++)
if(D[v][u]+D[u][w]D[v][w])
{
D[v][w]=D[v][u]+D[u][w];
for(i=0;iG-vexnum;i++)
p[v][w][i]=p[v][u][i]||p[u][w][i];
}
while(flag)
{
printf(请输入出发点和目的地的编号:);
scanf(%d%d,k,j);
if(k0||kG-vexnum||j0||jG-vexnum)
{
printf(景点编号不存在!请重新输入出发点和目的地的编号:);
scanf(%d%d,k,j);
}
if(k=0kG-vexnumj=0jG-vexnum)
flag=0;
}
fprintf(fp,%s,G-vexs[k].name);
您可能关注的文档
最近下载
- 2024华医网继续教育抗菌药物的临床合理应用与专项管理题库答案.docx VIP
- 站运游一体化课件.ppt
- 2023年江西中医药大学公共课《中国近代史纲要》期末试卷A(有答案).docx VIP
- 《职业卫生与职业医学》有机粉尘及所致肺部疾患.ppt
- 利用7805及7905设计一个输出为±(5-9)V_1A的直流可调稳压电源.doc
- 化工企业生产过程异常工况安全处置管理制度.docx
- 2024山东省《强化依法执业,加强医德医风建设》题库答案(共442题).docx VIP
- 商务英语核心词汇-3000词(详解版).docx
- DIN-EN-10152-CN欧洲标准 汽车钢电镀锌 定尺加工.doc VIP
- 幼小衔接课程模式的有效性探讨教学研究课题报告.docx
文档评论(0)