公交线路管理系统剖析.docxVIP

  • 1
  • 0
  • 约1.72万字
  • 约 35页
  • 2023-09-18 发布于上海
  • 举报
课 程 设 计 报 告 课程设计名称: 数据结构课程设计学 院: 信息工程学院 学 生 姓 名 : *** 班 学 级: 号: 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 (); /*文件初始化在运行开始时形成一张邻接表*/ bool Init_Graph ( );//初始化交通图 /*为简便程序设计和保存方便故设计转化函数让程序中对交通图处理更加灵活*/ bool MattoList (float map[][MaxC]);//转化邻接矩阵 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); /*增加路线*/ void Add_ro

文档评论(0)

1亿VIP精品文档

相关文档