- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
公交线路管理系统剖析
课 程 设 计 报 告
课程设计名称: 数据结构课程设计
学 院: 信息工程学院
学 生 姓 名 : ***
班 级: 14计本1
学 号: ………………
成 绩:
指 导 教 师: ***
开 课 时 间:2015-2016学年一学期
设计题目:公交线路管理系统
实习目的
通过学习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、编码集成以及调试分析,熟练掌握数据结构的选择、设计、实现、以及操作方法,为进一步的开发应用打好基础。
问题描述
实现功能:初始化交通图系统介绍使用说明判断输入量路径间是否存在直接到达路径此函数为录入交通线和添加删除路线中的辅助判断函数邻接表和邻接矩阵的互化查找任意两个城市之间是否有路径若有则将最短路径输出操作结束后检测文件是否被修改若被更改则自动保存
功能分配
……
需求分析
该程序所做的工作是对公交车运行线路及城市交通网络的管理,首先城市交通信息应用文件形式进行保存,在运行开始前用文件对城市中城市交通图初始化;结束时用文件对程序各项数据信息进行保存。
本程序面向乘客和管理员,故在开始时设计登录界面,只有输入密码获得管理员权限才可以使用本程序中设计的,增加路线,删除路线,和保存功能;普通乘客只能使用两类信息查询功能,公交路线查询和路径查询。
本程序遵循由路必有车走、有车走必有路的原则设计城市路线和交通网络。
概要设计
#define MaxC 20//最多容纳20站点
#define Limit 10000//以10000千米代表两城市之间无站点
#define Administrator 1//管理员标志#define Passenger 0//乘客身份标志using namespace std;
typedef unsigned int NO_TYPE;
/*定义城市类型包含城市编号和城市名称*/
typedef struct {
NO_TYPE no_city;//城市编号
string city_name;//城市名称
}CityType;
/*定义邻接边类型*
typedef struct Road {//城市节点类型
NO_TYPE adjcity;//该边终点城市编号
struct Road *NextCity;//顶点城市下一条邻边
float Road_length;//路径长度
}RoadNode;
/*定义邻接表表头节点*/
typedef struct {
CityType data;//城市节点信息
RoadNode *firstcity;//此城市可通向的第一个城市
}CitiesNode;
/*定义车辆类型*/
typedef struct {
string No_Bus;//车辆编号
NO_TYPE num_Cities;//所经过城市的数目
NO_TYPE Way[MaxC];//所经过路线以城市编号表示
}BusType;
/*定义文件修改标志*/
enum Change {Yes,No};
/*定义城市交通图类
class TGraph {
vector CitiesNode CList;//交通图邻接表类型
NO_TYPE num_of_city;//城市数量(City)
vector BusType Bus_info;//车辆信息
short User_id ;//用户身份标志
Change m ;//交通图修改标志
public:
TGraph ();
/*文件初始化在运行开始时形成一张邻接表*/
为简便程序设计和保存方便故设计转化函数让程序中对交通图处理更加灵活
void ListtoMat (float map[][MaxC]);//邻接表转化为邻接矩阵
void Find_info ();//查询
/*采用狄克斯特拉算法求一节点到另一节点最短路径*/
void Find_way (string , string);//查询直接路径
/*设计用于跟新线路信息*
void Updata (NO_TYPE , NO_TYPE);//更新
/*在两个站点之间插入新路线
void Insert_rode (NO_TYPE , NO_TYPE);//judge_rode
/*判断两城市是否是已有城市*/
bool Judge_city (string , string);
/*增加路线*/
/*判断两城市之间有无直接路径*/
bool Jud
您可能关注的文档
最近下载
- 2024年时事政治题库及参考答案(100题).doc
- 2024年人教新课标小学数学知识点整理.doc
- 高中化学新教材选择必修3与旧版教材选修5对比分析.pdf VIP
- 生物人教版2024版七年级上册2.2.2 脊椎动物(鱼) 课件01.pptx VIP
- ISO27001信息安全管理体系信息安全风险评估表.pdf
- 宣讲“铸牢中华民族共同体意识”专题课件.ppt VIP
- NB_T 33018-2015 电动汽车充换电设施供电系统技术规范.pdf VIP
- 《教育家精神》全文课件.ppt
- 国开电大学习网国家安全教育(山东大学(威海))答案.pdf
- 学堂在线昆虫文化(安农)期末考试答案(65题卷).docx
文档评论(0)