数据结构课程设计报告格式

发布 2022-10-05 19:40:28 阅读 6298

西安郵電學院。

题目: 校园导游系统。

院系名称计算机学院。

专业名称计算机科学与技术。

班级计科1106

学生姓名崔斌。

学号(8位04111185

指导教师王春梅。

设计起止时间:2024年12月17日~2024年12月21日。

一。 设计目的。

①:为了让非本校的同学们,家长们能够充分了解本校---西安邮电大学。

②:实践数据结构所学知识。

二。 设计内容。

①:学校简易的俯视图。

②:各个景点的简单介绍。

③:任意两景点之间的所有路径。

④:任意两景点之间的最少中转景点路径。

⑤:任意两景点之间的带权路径长度。

三.概要设计。

init();初始化两个顺序栈。

menu();进行选择的模块函数;

intro();景点介绍函数;

search();判断是否有此编号的景点;

findallpath();找路径函数;

findallway();找任意两个景点之间的所有路径;(存在栈里面)

shortestway();任意两个景点之间中转次数最少的路径;(从栈里面读取出来)

niceway();任意两个景点之间总权值最小的路径;(从栈里面读取出来)

calculate();从栈里面读取出来相关数据),进行分析运算;

byebye();你懂得!

/思想;递归结合循环,然后,找到终点时还要回溯;

void findallway(adjlist *g,int m,int n)//两点之间的所有路径。

int i,t,k;

arcnode *p;

pa_th rp;

push(s,m);

g->vertex[m-1].flag=1;

if(m==n)

elsefor(p=g->vertex[m-1].firstarc;p!=null;p=p->nextarc)

g->vertex[s->elem[s->top]-1].flag=0;//两句顺序不可以调换。

pops(s);

/从文件里读取数据;

错误1;不知道此节点有几个邻接点,因为%s的原因,就会只把第一个节点的相关数据读出来,从第二个节点的相关信息处,开始读出错误(即烫烫烫烫烫烫烫烫烫烫烫);为此,我在文件里面加了此节点的邻接点个数m,readnet()里面又有count相加以监视不超过m;

错误2;读文件时,因为有链表的部分,就按照单链表的创建些写,结果总是此节点的最后一个邻接点没被读到内存里,究其原因,是最后一个p1没有连接到此条链表的尾部,(不仅我把p2->nextarc=null;还把free(p1);)

void readnet(adjlist *g)

int i,count,m;

arcnode *head,*p2,*p1;

file *fp;

fp=fopen(u,"rt");

if(fp==null)

for(i=0;i

p2->nextarc=p1;//千万不能忘掉此语句,令人蛋碎一地呀。

p2=p1;//千万不能忘掉此语句,令人蛋碎一地呀,否则会丢掉每个节点的最后一个邻接点。

p2->nextarc=null;

free(p1);/千万不能有此语句,令人蛋碎一地呀。

g->vertex[i].firstarc=head->nextarc;

fclose(fp);

五.测试数据及运行结果。

1. 正常测试数据(3组)及运行结果;

六.调试情况,设计技巧及体会。

1.对自己的设计进行评价,指出合理和不足之处,提出改进方案;

2.对设计及调试过程的心得体会。

七.参考文献。

1]《c语言程序设计第二版》--王曙燕 --北京:科学出版社 –2008

《数据结构—用c语言描述》—耿国华—北京:高等教育出版社--2011

八.附录:#include""

#include""

#include""

#define max_vertex_num 30

#define h (arcnode *)malloc(sizeof(arcnode))

#define u ""

#define o (linkstacknode *)malloc(sizeof(linkstacknode))

typedef struct arcnode

int num;//编号。

int weight;//顶点与此点之间路径的权值。

struct arcnode *nextarc;

arcnode;

typedef struct vertexnode

int num;//编号。

char name[20];/顶点景点名称。

char introduce[40];/景点简介。

int sum;//与他连接的景点个数 //令人蛋疼的读文件呀。

int flag;//默认为0,刚好可以标志。

arcnode *firstarc;

vertexnode;

typedef struct aa

vertexnode vertex[max_vertex_num];/顶点数组。

int other;//备用。

adjlist;

void menu(adjlist *g);

void intro(adjlist *g);

int search(adjlist *g,int s);

void findallpath(adjlist *g);

void findallway(adjlist *g,int m,int n);

void byebye();

void readnet(adjlist *g);

void map();

void shortestway(adjlist *g);

int calculate(adjlist *g);

void niceway(adjlist *g);

void findweight(adjlist *g,int m,int n);

seqstacki w,*s=&w;

seqstackpath z;

int vnum=13;

main()

adjlist q,*g=&q;

initstack(s);

initstack1(&z);

readnet(g);/读出文件。

map();

//printf("%d",g->vertex[4].firstarc->nextarc->nextarc->weight);

menu(g);

void menu(adjlist *g)

int choice;

map();

printf("n");

printf("查看景点信息。

printf("查寻两景点之间的路径。

printf("一 ●③退出系统。

printf("n");

printf("\t\t你想选择?请选择(1-3):"

scanf("%d",&choice);

while(choice<1||choice>3)

switch(choice)

void intro(adjlist *g)//景点信息。

数据结构课程设计报告格式

本科课程设计 报告 院 系。专业。学生姓名。学号。任课教师吴瑕。提交日期。题目。1.问题描述 2.数据结构描述 如 可参考课本p50 1 每个多项式必须用单链表来存储 typedef struct node float coef系数。int exp指数。struct node next指向下个结点的...

数据结构课程设计报告格式

西安郵電學院。题目 校园导游系统。院系名称 专业名称 班级 学生姓名 学号 8位 指导教师王春梅。设计起止时间 2011年12月12日 2011年12月16日。一。设计目的。二。设计内容。三 概要设计。1 功能模块图 2 各个模块详细的功能描述。四 详细设计。1 功能函数的调用关系图 2 各功能函数...

数据结构课程设计报告格式

题目猴子选大王。学生姓名。学号。专业班级。指导老师。设计日期 2009年12月19日。指导老师评阅意见 一 问题定义。1 课程设计目的 数据结构课程设计是学习数据结构课程的一个重要环节。能巩固和加深课堂教学内容,提高学生实际工作能力,培养科学作风,为学习后续课程和今后的系统开发奠定基础。通过课程设计...