数据结构实训报告
第二章 需求分析
2.1 功能描述
系统主要有的功能:校园全景浏览、景点信息查询、最短路径查询、和校园美景评价 等功能模块,其中还有管理员权限。
功能介绍: 1、全景浏览功能能够让用户看到我校的大致轮廓图,较为清晰地看到我校的建筑物和景点; 2、景点信息查询功能是向用户介绍景点的特点,用户可以输入想要查询的景点,按回车键 即可显示你想要查询的景点; 3、最短路径的查询功能能够查询用户想要查询的每一个景点之间的最短路径; 4、校园美景评价功能可以让每一个用户都能对学校景点进行评价,用户只要输入景点的代 号即可进入评价界面,然后可以输入评价; 5、管理员权限功能普通用户也可以进入,但是要修改需要获得密码权限,管理员进入权限 需要输入密码登陆,它可以进行多个功能的操作,即及时添加或删除景点和对评价进行管理。 即管理员权限功能主要是对校方对景点和建筑物的变化进行修改,和搜集用户对特定景点的 评价,及时掌握同学们的意见和看法。
程序中用到了结构体函数,顺序链表的存储和修改,图的创建等知识点。
1.2 分组情况
本小组人员是倪远远和沈建曦,编码工作是由沈建曦为主,倪远远从旁协助。文档的编 写由倪远远为主编写。
编码的主框架由两人齐力修改,其中沈建曦负责路径长度的修改和学校地图的修改,本 人负责图描述的修改。子函数添加的构思组要参考实训要求编写。
由于学习任务和为方便大一新生们对我校的景点有所了解,我两人决定协作完成校园导 游程序。此程序是一个可以实现同学们对我校园区的多数景点的查询,方便新生们对学校各 个场所的寻找。
该校园导游系统是由校园全景浏览、景点信息查询、最短路径查询和校园美景评价几个 功能组成。其中希望实现全景浏览可以俯瞰学校大轮廓,景点信息查询用作为用户介绍景点 特色,最短路径查询功能可以告诉用户景点之间最短距离,最后一个功能是用户对景点的评 价功能。评价功能中有管理员权限,可以进行景点的修改。
第三章 概要设计
3.1 核心结构体
核心结构体是顺序链表的结构体创建、顶点节点图的创建。
下面是结构体的展示:
1、typedef struct
{
int number ;
char sight[50];
此结构体是定义游客对景点的评价,
结构体定义了游客可以评价的景点信息,
char scrible[100] ;
2.2 关键技术
关键技术是:校园地图的创建、图的创建、景点列表的创建、输出函数的创建、关于修 改链表的函数的创建。
1、校园地图的创建规划出来了校园的大致轮廓,和学校的主要建筑物的所在位置,较 为直观反映了学校建筑规模和建筑的分布情况。校园的地图是由手绘画出来的,由于线条很 是繁多,绘画起来很麻烦,花了两天的时间,但是其拥有比界面寻址更加直观的视觉效果。
第六章 总结.....................................................................................................................................16
第一章 概述
1.1 任务描述
第三章 概要设计...............................................................................................................................6 3.1 核心结构体..........................................................................................................................6 3.2 系统结构(子函数)............................................................................................................... 6
int password()
密码设置函数
SeqList * init_SeqList() 链表函数
SaveFile(SeqList *L )
文件读入
OpenFile(SeqList *L)
文件读出
Input(SeqList *L)
链表输入
Show(SeqList *L)
显示文件内容
int edit_menu()
{
int number; //景点的编号
char *name; //景点的名称
char *info; //景点的简介
} Verteபைடு நூலகம்Node; //顶点结点的定义
3.2 系统结构(子函数)
下面是程序中各个子函数:
int xiugai() 修改目录
void Map() 校园地图
void CreateGraph() 创建图
主菜单函数
OpenFile(SeqList *L) 文件读出
SaveFile(SeqList *L) 文件读入
AddNode()
添加评价目录
modify()
修改 子函数
int edit_menu() 编辑菜单
void changesight() 引入编辑菜单
图 3-1 系统流程图
景点更改函数
gai_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) 修改景点号的函数
void OutputPlace() 输出景点列表
void SearchPlace() 查询景点信息
void SearchPath() 查询最短路径
void Shortpath(int i) 计算最短路径
void Output(int sight1,int sight2) 景点输出函数
void changesight()
景点编号和游客信息。
char name [50];
}view;
2、typedef struct
定义文件存储:
将各个景点的信息按照线性表的方式存入文件中,
{
当游客想要了解想要的景点信息时,
view v[50];
输入景点编号信息就可以从存储的文件里读出并显示。
int last;
}SeqList;
typedef struct VertexNode
第二章 需求分析...............................................................................................................................4 2.1 功能描述..............................................................................................................................4 2.2 关键技术..............................................................................................................................4
第五章 系统测试.............................................................................................................................13 5.1 测试策略............................................................................................................................13 5.2 测试结果............................................................................................................................13
2、图的创建是建立了学校景点的介绍和描述,被景点信息查询功能模块所调用。我们 定义了边节点和景点节点,并且计算了各个景点之间的距离,在用户输入景点查询后就可以 显示景点之间的最短路径。
3、景点列表的创建将各个主要的景点做成了一份表格的形式输出的,比较直观,同时 它还调用了景点的查询功能。景点列表也是用手绘图做出来的效果,代码量虽不大,但是视 觉效果较为直观,同时在景点查询时需要调用该景点列表。
第四章 详细设计...............................................................................................................................8 4.1 最短路径查找.......................................................................................................................8 4.2 文件存储............................................................................................................................10 4.2 景点信息查询....................................................................................................................11