校园导游服务咨询系统C++(含源代码)说明书---2015

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机科学与技术教研室

课程设计说明书(2014-2015学年第1学期)

注:成绩均用百分制。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩*40%

设计题目:校园附近门店服务查询系统

1、课程设计目的

(1)数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C++语言),自行实现一个较为完整的应用系统。

(2)通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。

(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。

1)熟练掌握链表存储结构及其建立过程和常用操作;

2)学会自己调试程序的方法并掌握一定的技巧;

3)通过温习旧的知识,学习新知识,并提高分析和解决问题的能力。

2、课程设计正文

2.1概要设计

2.1.1 系统分析

该系统主要功能包括:增添服务信息、查询服务信息、修改服务信息、删除服务信息以及推荐路径等。

1.主程序模块:连接各种功能子模块,使用循环等待用户操作,完成程序的基本操作实现功能。

2.菜单显示模块:生成每个菜单的显示界面,使程序更简单清晰。

3.查询服务信息:用户在选择此功能模块后,按照屏幕上方提示的服务信息名称及其对应的编号,要求用户输入想要查询的服务信息的编号,回车后系统将在已存储的服务信息中进行匹配,若该景点信息尚未存储则将提示错误;若找到对应信息则系统将输出服务信息,显示于幕上方。

4.查询两服务信息最短路径:运用弗洛伊德算法,用户在选择此功能模块后,按照屏幕上方提示的服务信息名称及其对应的编号,要求用户输入起点和终点的编号,系统将在已存储的景点中进行匹配,若未找到所需查询的服务信息编号,系统将提示错误并要求用户再次输入。若输入信息合法,则回车后系统将给出最短路径,显示于屏幕上方。

5.删除服务信息:用户操作功能模块,由主程序直接调用的函数模块,将功能具象化,系统工具函数模块,先查找到所存在的服务信息,然后对用户希望删除的服务信息进行删除操作,若所要删除的服务信息不存在,则输出不存在此服务信息。

2.1.2系统结构图

系统要实现的功能:1、增添服务信息;2、修改服务信息;3查询服务信息;4、查询两服务信息之间最短路径;5、删除服务信息;6、退出系统。

图1系统结构图

2.2详细设计

2.2.1数据类型定义

#include

#include

#include

#include

#define N 100 //服务信息个数最大100

#define Road 1000 //定义路径为1000

intNum=9; //目前服务信息个数

using namespace std;

typedefstructElemtype

{

char name[30];

char number[10];

char introduce[200];

}Elemtype;

typedefstruct Place

{

intnum; //位置序号

Place *next;

Elemtype date; //服务信息信息

}Place; //定义服务信息

2.2.2 存储结构:

单链表如下:

图2单链表

每个结点包含数据域和指针域:

图3结点图

2.2.3 函数声明

(1)服务信息查询函数

函数名:void find(Place *&head)

操作结果:查找需要的服务信息

分析:输入所要查找的服务信息的编号,为链表建立一个附加表头结点,将p 付给表头指针;同时判断输入的字符串是否满足条件;用if语句判断是否输入完成。

(2)服务信息增添函数

函数名:void add(Place *&head)

操作结果:增加新的的服务信息

分析:运用指针p指向Place *&head结构体,增加服务信息的位置、编号、名称等信息将p赋给表头指针,初始化count为0,用循环语句遍历进行保存。

(3)服务信息修改函数

函数名:void replace(Place *&head)

操作结果:对原有的服务信息进行修改

分析:使用while与for语句遍历链表,对已经存在的服务信息进行修改并保存。

(4)服务信息删除函数

函数名:void deleted(Place *&head)

操作结果:删除已经不存在的服务信息

分析:用for与if语句,找到所要删除的字符串,用while语句删除已经不存在的服务信息。

(5)求两服务信息之间最短路径函数

函数名:intshortdistance(Place *head)

操作结果:查找两个服务信息之间的最短路径

分析:运用弗洛伊德算法,写出函数,再运用函数计算出两个服务信息之间的最短路径并输出运算结果。

(7)主菜单控制函数

函数名:void menu()

操作结果:显示以下几个菜单:1) 查询服务信息;2) 修改服务信息;3) 增加服务信息;4) 除服务信息;5)路径搜索;6) 退出系统;

2.2.4函数流程图

系统流程图如图4

图4系统流程图

2.2.5代码(见附录)

2.3程序测试结果

相关文档
最新文档