西安邮电大学-(数据结构)校园导游系统课程设计报告

西安邮电大学-(数据结构)校园导游系统课程设计报告

ID:47536742

大小:980.00 KB

页数:18页

时间:2020-01-14

西安邮电大学-(数据结构)校园导游系统课程设计报告_第1页
西安邮电大学-(数据结构)校园导游系统课程设计报告_第2页
西安邮电大学-(数据结构)校园导游系统课程设计报告_第3页
西安邮电大学-(数据结构)校园导游系统课程设计报告_第4页
西安邮电大学-(数据结构)校园导游系统课程设计报告_第5页
资源描述:

《西安邮电大学-(数据结构)校园导游系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西安郵電大學数据结构课程设计报告书系部名称计算机学院学生姓名崔斌专业名称计算机科学与技术专业班级计科1106学号04111185指导教师衡霞时间2012年12月15日至2012年12月21日实验题目:校园导游系统一、实验目的①:为了让非本校的同学们,家长们能够充分了解本校---西安邮电大学。②:实践数据结构所学知识。二、实验内容①:学校简易的俯视图。②:各个景点的简单介绍。③:任意两景点之间的所有路径。④:任意两景点之间的最少中转景点路径。⑤:任意两景点之间的带权路径长度。三、需求分析Calculate()Main();Init();Menu();IntroFinallpath

2、();Byebye();Search();FinfallwayShortestway()Niceway()Init();初始化两个顺序栈Menu();进行选择的模块函数;Intro();景点介绍函数;Search();判断是否有此编号的景点;Findallpath();找路径函数;Findallway();找任意两个景点之间的所有路径;(存在栈里面)Shortestway();任意两个景点之间中转次数最少的路径;(从栈里面读取出来)Niceway();任意两个景点之间总权值最小的路径;(从栈里面读取出来)Calculate();(从栈里面读取出来相关数据),进行分析运算;Bye

3、bye();你懂得!四、概要设计1、方案设计对系统进行分析,给出景区图重点:①://思想;递归结合循环,然后,找到终点时还要回溯;voidfindallway(adjlist*G,intm,intn)//两点之间的所有路径{inti,t,k;arcnode*p;pa_thrp;push(s,m);G->vertex[m-1].flag=1;if(m==n){rp.sumweight=k=calculate(G);rp.sum=s->top;rp.num=(y+1);push1(&z,rp);printf("路径%3d为(途径%2d个景点,长度为%3d):",y+1,s->top

4、,k);for(i=0;i<=s->top;i++)printf("->%d",s->elem[i]);printf("");G->vertex[m-1].flag=1;y++;//外部全局变量}elsefor(p=G->vertex[m-1].firstarc;p!=NULL;p=p->nextarc){t=p->num;if(G->vertex[t-1].flag==0)findallway(G,t,n);}G->vertex[s->elem[s->top]-1].flag=0;//两句顺序不可以调换pops(s);}①://从文件里读取数据;错误1;不知道此节点有几个

5、邻接点,因为%s的原因,就会只把第一个节点的相关数据读出来,从第二个节点的相关信息处,开始读出错误(即烫烫烫烫烫烫烫烫烫烫烫);为此,我在文件里面加了此节点的邻接点个数m,readnet()里面又有count相加以监视不超过m;错误2;读文件时,因为有链表的部分,就按照单链表的创建些写,结果总是此节点的最后一个邻接点没被读到内存里,究其原因,是最后一个p1没有连接到此条链表的尾部,(不仅我把p2->nextarc=NULL;还把free(p1);)voidreadnet(adjlist*G){inti,count,m;arcnode*head,*p2,*p1;FILE*fp;f

6、p=fopen(U,"rt");if(fp==NULL){printf("文件打开失败!!");exit(0);}for(i=0;ivertex[i].num,G->vertex[i].name,G->vertex[i].introduce,&G->vertex[i].sum,&G->vertex[i].flag);//fprintf()的"后面不加第一个空格也可以。m=G->vertex[i].sum;p2=H;head=p2;p1=H;fscanf(fp,"%d%d",&p1->num,&p1->w

7、eight);//fprintf()的"后面不加第一个空格也可以。count=1;while(countnextarc=p1;p2=p1;p1=H;fscanf(fp,"%d%d",&p1->num,&p1->weight);//fprintf()的"后面不加第一个空格也可以。count++;}p2->nextarc=p1;//千万不能忘掉此语句,令人蛋碎一地呀p2=p1;//千万不能忘掉此语句,令人蛋碎一地呀,否则会丢掉每个节点的最后一个邻接点p2->nextarc=NUL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。