加载《数据结构课程某某》成功,点击此处阅读
首页 →文档下载

数据结构课程某某

以下为《数据结构课程某某》的无排版文字预览,完整内容请下载

武汉***计算机***

课 程 设 计 报 告

课程名称 数据结构课程某某

题 目 公园导游系统

专业班级 软工一班

学 号 ***21001

学生姓名 顾某某

指导教师 黄某某

2021 年 12 月 10 日

武汉***计算机***

课程某某任务书

课程名称: 数据结构课程某某

设计题目: 公园导游系统

专 业: 软件工程 班 级: 20级 1 班

完成时间: 12月10日 指导教师: 黄某某 专业负责人: 许某某

主要内容

主要利用C/C++语言和数据结构相关算法来进行设计与开发。

从黄鹤楼公园的平面图中选取有代表性景点(10-15个),抽象成一个无向带权图。以图中顶点表示景点,边上的权值表示两地之间距离。

本程序主要包括四大功能,为用户提供公园景点简介;从公园大门到其它景点的路径咨询;根据用户指定的始点和终点查询并输出的相应最短路径;在各景点间修通网络的最经济的方案。



基本要求

(1)完成程序所要实现的功能,得到正确的运行结果。

(2)做好程序的功能测试,程序均能得到正确结果。

(3)严格按照课程某某报告的步骤和内容要求撰写报告,做到有文字描述,有图表说明。

(4)严格按照课程某某报告的格式要求调整报告格式,包括字体、字体大小等。

(5)要求上交源代码。

(6)要求系统设计有创新,酌情加分。



参考资料

1. 李春葆主编.数据结构教程(第5版) 清华大学出版社

2. 李春葆主编.数据结构教程上机实验指导(第5版)清华大学出版社

3.苏仕华主编,数据结构课程某某.机械工业出版社

4.何钦铭主编,数据结构课程某某.浙江大学出版社





武汉***计算机***

课程某某成绩评价表

课程名称

数据结构课程某某



题 目

公园导游系统



学生姓名



学号



指导教

师姓名

 黄某某

职称

副教授



序 号

评价项目

指 标

满分

评分



1

工作量、工作态度和出勤率

按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。

20





2

课程某某质量

课程某某选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。

40





3

创新

工作中有创新意识,对前人工作有一些改进或有一定应用价值。

10





4

答辩

能正确回答指导教师所提出的问题。

30





总 分





评 语:





指导教师: 年 月 日

需求分析

实现黄鹤楼景区导游系统,首先要考虑系统的安全性,在程序中设置密码登录,然后在程序中加入景点介绍和查看导游图功能,使游客对于各个景点有一个基本的了解,最后加入景区游览线路查询功能,让游客可以快速去到自己想要游览的景点。

2.概要设计



3.详细设计

void CreateAdj(AdjGraph *&G,int A[maxv][maxv],int n,int e)//建立图的邻接表

MatGraph CreateMat(MatGraph g,int A[maxv][maxv],int n,int e)//建立图的邻接矩阵

void reg()//密码输入界面

void reglose()//登录失败界面

void serve()//系统功能展示界面

void f1()//“走进黄鹤楼”功能界面

void f2()//“景点介绍”功能界面

void f3()//“旅游路线推荐”功能界面

void f4()//“查询入口到景点路线”功能界面

void f5()//“查询两景点最短路线”功能界面

void f6()//“各景点间修建直饮水管道的最小长度”功能界面

void f8()//系统退出界面

void map()//查看地图

void Dijkstra(MatGraph g,int v,int m)//运用Dijkstra算法求两景点间的最短路径

void Dispath(MatGraph g,int dis[],int path[],int S[],int v,int m)//输出最短路径

void FindAllPath(AdjGraph *G,int u,int v,int path[],int d)//求入口到景点的所有路线

void Prim(MatGraph g,int v)//求图的最小生成树,解决修建管道

使用说明、测试和分析结果

#include

#include

#include

#include

#include

#define maxv 20

#define INF 35678

int visited[maxv]={0};

typedef struct

{

char name[10];

}InfoType;

typedef struct

{

int no;

InfoType info;

}VertexType;

typedef struct

{

int edge[maxv][maxv];

int n,e;

VertexType vex[maxv];

}MatGraph;

typedef struct ANode

{

int adjvex;

struct ANode *nextarc;

int weight;

}ArcNode;

typedef struct Vnode

{

InfoType info;

ArcNode *firstarc;

}VNode;

typedef struct

{

VNode adjlist[maxv];

int n,e;

}AdjGraph;

void CreateAdj(AdjGraph *&G,int A[maxv][maxv],int n,int e)

{

int i,j;ArcNode *p;

G=(AdjGraph *)malloc(sizeof(AdjGraph));

for(i=0;iadjlist[i].firstarc=NULL;

for(i=0;i=0;j--)

if(A[i][j]!=0&&A[i][j]!=INF)

{

p=(ArcNode *)malloc(sizeof(ArcNode));

p->adjvex=j;

p->weight=A[i][j];

p->nextarc=G->adjlist[i].firstarc;

G->adjlist[i].firstarc=p;

}

G->n=n;G->e=e;

i=0;

FILE *fp1;

fp1=fopen("v4.txt","r");

while(!feof(fp1)){

fscanf(fp1,"%s",G->adjlist[i].info.name);

i++;

}

}

void FindAllPath(AdjGraph *G,int u,int v,int path[],int d)

{

int w,i;

ArcNode *p;

d++;path[d]=u;

visited[u]=1;

if(u==v&&d>=0)

{

printf("%s",G->adjlist[path[0]].info.name);

for(i=1;iadjlist[path[i]].info.name);

printf("\n");

}

p=G->adjlist[u].firstarc;

while(p!=NULL)

{

w=p->adjvex;

if(visited[w]==0)FindAllPath(G,w,v,path,d);

p=p->nextarc;

}

visited[u]=0;

}

void Dispath(MatGraph g,int dis[],int path[],int S[],int v,int m)

{

int i=m,j,k;

int apath[maxv],d;

if(S[i]==1&&i!=v)

{

printf("从%s到%s的最短路径长度为:%d\t路径为:",g.vex[v].info.name,g.vex[i].info.name,dis[i]);

d=0;apath[d]=i;k=path[i];

if(k==-1)printf("无路径\n");

else {

while(k!=v)

{

d++;apath[d]=k;

k=path[k];

}

d++;apath[d]=v;

printf("%s",g.vex[apath[d]].info.name);

for(j=d-1;j>=0;j--)

printf("->%s",g.vex[apath[j]].info.name);

printf("\n\n\n");

}

}

}

void Dijkstra(MatGraph g,int v,int m)

{

int dist[maxv],path[maxv];

int S[maxv];

int mindis,i,j,u;

for(i=0;i

以上为《数据结构课程某某》的无排版文字预览,完整内容请下载

数据结构课程某某由用户“时乘6龙寸”分享发布,转载请注明出处
XXXXX猜你喜欢
回顶部 | 首页 | 电脑版 | 举报反馈 更新时间2022-01-17 00:47:14
if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/40/8b/172858.html'}ipt>if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/40/8b/172858.html'}ipt>