公交线路管理系统.docVIP

  • 489
  • 0
  • 约1.93万字
  • 约 35页
  • 2017-02-08 发布于重庆
  • 举报
公交线路管理系统

课 程 设 计 报 告 课程设计名称: 数据结构课程设计 学 院: 信息工程学院 学 生 姓 名 : *** 班 级: 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

文档评论(0)

1亿VIP精品文档

相关文档