ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:401.17KB ,
资源ID:18219531      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18219531.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实训报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实训报告.docx

1、数据结构实训报告安徽机电职业技术学院数据结构课程实训报告 校园导游程序系统 姓 名:倪远远 小组名称:QG 小组成员:倪远远 沈建曦 指导教师:范宏宇 班 级:软件3112 完成日期:2012年06月16日 目 录第一章 概述 31.1 任务描述 31.2 分组情况 3第二章 需求分析 42.1 功能描述 42.2 关键技术 4第三章 概要设计 63.1 核心结构体 63.2 系统结构(子函数) 6第四章 详细设计 84.1最短路径查找 84.2 文件存储 104.2 景点信息查询 11第五章 系统测试 135.1 测试策略 135.2 测试结果 13第六章 总结 16第一章 概述1.1 任务

2、描述由于学习任务和为方便大一新生们对我校的景点有所了解,我两人决定协作完成校园导游程序。此程序是一个可以实现同学们对我校园区的多数景点的查询,方便新生们对学校各个场所的寻找。该校园导游系统是由校园全景浏览、景点信息查询、最短路径查询和校园美景评价几个功能组成。其中希望实现全景浏览可以俯瞰学校大轮廓,景点信息查询用作为用户介绍景点特色,最短路径查询功能可以告诉用户景点之间最短距离,最后一个功能是用户对景点的评价功能。评价功能中有管理员权限,可以进行景点的修改。程序中用到了结构体函数,顺序链表的存储和修改,图的创建等知识点。1.2 分组情况本小组人员是倪远远和沈建曦,编码工作是由沈建曦为主,倪远远

3、从旁协助。文档的编写由倪远远为主编写。编码的主框架由两人齐力修改,其中沈建曦负责路径长度的修改和学校地图的修改,本人负责图描述的修改。子函数添加的构思组要参考实训要求编写。第二章 需求分析2.1 功能描述 系统主要有的功能:校园全景浏览、景点信息查询、最短路径查询、和校园美景评价等功能模块,其中还有管理员权限。 功能介绍:1、全景浏览功能能够让用户看到我校的大致轮廓图,较为清晰地看到我校的建筑物和景点;2、景点信息查询功能是向用户介绍景点的特点,用户可以输入想要查询的景点,按回车键即可显示你想要查询的景点;3、最短路径的查询功能能够查询用户想要查询的每一个景点之间的最短路径;4、校园美景评价功

4、能可以让每一个用户都能对学校景点进行评价,用户只要输入景点的代号即可进入评价界面,然后可以输入评价;5、管理员权限功能普通用户也可以进入,但是要修改需要获得密码权限,管理员进入权限需要输入密码登陆,它可以进行多个功能的操作,即及时添加或删除景点和对评价进行管理。即管理员权限功能主要是对校方对景点和建筑物的变化进行修改,和搜集用户对特定景点的评价,及时掌握同学们的意见和看法。 2.2 关键技术关键技术是:校园地图的创建、图的创建、景点列表的创建、输出函数的创建、关于修改链表的函数的创建。1、校园地图的创建规划出来了校园的大致轮廓,和学校的主要建筑物的所在位置,较为直观反映了学校建筑规模和建筑的分

5、布情况。校园的地图是由手绘画出来的,由于线条很是繁多,绘画起来很麻烦,花了两天的时间,但是其拥有比界面寻址更加直观的视觉效果。2、图的创建是建立了学校景点的介绍和描述,被景点信息查询功能模块所调用。我们定义了边节点和景点节点,并且计算了各个景点之间的距离,在用户输入景点查询后就可以显示景点之间的最短路径。3、景点列表的创建将各个主要的景点做成了一份表格的形式输出的,比较直观,同时它还调用了景点的查询功能。景点列表也是用手绘图做出来的效果,代码量虽不大,但是视觉效果较为直观,同时在景点查询时需要调用该景点列表。4、输出函数在此程序中毫无疑问是扮演着很重要的一个角色,它实现了图的输出、景点列表的输

6、出、主菜单的输出等等。5、关于修改链表的函数的创建。在此程序中实现了对景点的删除和添加的功能,对多个子函数进行调用,能够及时更新我校的景点评价的变化。修改函数中在管理员权限设置上的问题是:不知道应该将密码登陆代码添加到三个修改函数中的哪个修改函数中,经过多次测试,最终确定添加在modify()函数内解决可以这个问题。其中最为突出的亮点是游客用户的留言簿,游客可以对我校的各个景点进行评价并且可以浏览其他游客对各个景点的评价。同时管理员可以对游客的留言簿进行系统管理,即上述所提到的管理员功能。第三章 概要设计3.1 核心结构体 核心结构体是顺序链表的结构体创建、顶点节点图的创建。下面是结构体的展示

7、:1、typedef struct int number ; char sight50; 此结构体是定义游客对景点的评价,结构体定义了游客可以评价的景点信息, char scrible100 ; 景点编号和游客信息。 char name 50; view;2、typedef struct 定义文件存储: 将各个景点的信息按照线性表的方式存入文件中, 当游客想要了解想要的景点信息时, view v50; 输入景点编号信息就可以从存储的文件里读出并显示。 int last;SeqList;typedef struct VertexNode int number; /景点的编号 char *name

8、; /景点的名称 char *info; /景点的简介 VertexNode; /顶点结点的定义3.2 系统结构(子函数)下面是程序中各个子函数:int xiugai() 修改目录 void Map() 校园地图void CreateGraph() 创建图void OutputPlace() 输出景点列表void SearchPlace() 查询景点信息void SearchPath() 查询最短路径void Shortpath(int i) 计算最短路径void Output(int sight1,int sight2) 景点输出函数void changesight() 景点更改函数gai_

9、number(SeqList *L,int i) 景点代码调数gai_sight(SeqList *L,int i) 新景点输入函数gai_scrible(SeqList *L,int i) 景点描述函数gai_name(SeqList *L,int i) 景点名函数change(SeqList *L) 修改景点号的函数int password() 密码设置函数SeqList * init_SeqList() 链表函数SaveFile(SeqList *L ) 文件读入OpenFile(SeqList *L) 文件读出Input(SeqList *L) 链表输入Show(SeqList *L)

10、 显示文件内容int edit_menu() 主菜单函数OpenFile(SeqList *L) 文件读出SaveFile(SeqList *L) 文件读入AddNode() 添加评价目录modify() 修改 子函数int edit_menu() 编辑菜单void changesight() 引入编辑菜单图3-1系统流程图第四章 详细设计4.1最短路径查找最短路径查找,关键代码: 1)最短路径的查询采用了迪杰斯特拉算法定义了i、w和v为整型的计数变量,整型t表示景点个数。还定义了标志数组、用来存放顶点的信息,用整型min来记录权值、最终输出路径。用For 语句来实现循环: for(v=0;v

11、NUM;v+) finalv=0; /假设从顶点num到顶点v没有最短路径 Dv=G.arcnumv.length;/将num到其余顶点的最短路径长度初始化为权值 for(w=0;wNUM;w+) pathvw=0;/初始化从v到w的路径值 if(DvMAX) /存在路径 pathvnum=1; /存在标志置为一 pathvv=1; /自身到自身 2)用数组Dnum=0来初始化新的路径, 用finalnum=1去初始化num顶点属于 final集合,开始主循环后,每一次求得num到某个顶点的最短路径,并将其加入到final集合 ,用for语句来实现: for(i=0;iNUM;+i) / 其余

12、G.vexnum-1个顶点 min=MAX; /当前所知离顶点num的最近距离 for(w=0;wNUM;+w) if(!finalw) /w顶点在v-s中 if(Dwvi-,sizeof(view),1,fp)!=1) printf(写入错误!); 1)下面是文件输入:图4-3 文件输入2)下面是文件读出的显示操作,读出信息子函数部分代码由if语句完成,代码如下: If (fp = fopen(FileTest.txt,rb)=NULL) printf(打开文件失败); exit(1); while( fread(&vi,sizeof(view),1,fp)=1) L-last+; L-vL

13、-last=vi; printf(-n); printf(t景点编号t景点t评价ttttt游客名n); printf(t%dtt%stt%sttttt%sn,L-vL-last.number,L-vL-last.sight,L-vL-last.scrible,L-vL-last.name); printf(-n);图4-4文件输出4.2 景点信息查询1、景点查询功能实现的是校园景点的查询,游客可以根据景点代码查询景点信息,此功能将会显示与景点相关联的信息咨询。 void SearchPlace()查询景点信息,采用if(num0 & num=G.vexnum)来判断信息输入正确与否,用for语

14、句来实现的代码表示为: for(i=1;i=G.vexnum;i+) if(num=G.vertexi.number) printf(ntttttt景点编号:%dn,i); printf(tttttt景点名称:%sn,G.vertexi.name); printf(tttttt景点简介:%snn,G.vertexi.info); else printf(tttttt信息输入有误!n); num=0; printf(ntttttt是否继续查询景点信息(y/n):); c=getchar(); getchar(); 图4-5景点查询界面显示图4-6景点信息显示界面第五章 系统测试5.1 测试策略首

15、先是测试校园的全景浏览程序的功能,查看校园全景的效果;其次测试校园景点查询的功能看其景点的查询功能是否完善;然后是测试最短路径的功能,看其输出效果是否合理;最后测试景点评价的功能,看其程序执行后评价效果怎样,输出的效果,游客浏览留言簿的显示效果。5.2 测试结果1、校园全景浏览程序测试:单击程序运行将会进入程序主界面,展示在下面:图5-1校园全景图2、景点查询测试:在主界面的光标处输入景点代码,查询结果就会显示输出效果如下图:图5-2景点查询界面显示图图5-3景点介绍显示图3、最短路径的查询:输入想要查询的起点1,回车后输入景点2后回车,即可看到你所想要的查询结果。图5-4最短路径查询界面显示

16、图4、景点评价功能测试:游客进入系统后登陆评价系统,输入自己的意见和建议后,选择3退出并保存。第一幅图是校园导游系统的游客浏览后留言的效果显示图,第二幅是留言簿的效果显示图,如下所示: 图5-5游客留言输入显示图图5-6游客浏览留言簿界面显示图第六章 总结1、收获在这的实训中遇到了不少让人纠结的情况,虽然是这样,但是在此次的实训中依然学到了许多知识,虽然这些都是老师课堂上讲过的点,但是想要实现却是比想象中难的多,经过这次的实训却实对于程序的开发有了更深刻的理解。实训中明白了写程序真的很痛苦,但是写好了之后那种成就感真的不知道该怎么形容。同时明白了团队合作的重要性。2、失误实训中失误也很多,不知道管理员密码权限功能应该添加到哪个景点修改之内,还有操作上的失误也有。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1