资源描述:
《数据结构课程设计-交通咨询系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、各专业全套优秀毕业设计图纸设计题目<二>:7.3.4交通咨询系统设计P160一、设计要求1.问题描述根据不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能的短,出门旅行的旅客希望旅费尽可能的少,而老年人则要求中转次数少。模拟一个全国城市之间的咨询交通程序,为旅客提供两种或三种最优的交通路线。2.需求分析二、概要设计1.主界面设计(图2.1“交通咨询系统”主菜单)2.存储结构设计本系统采用图结构类型存储抽象交通咨询系统的信息。typedefstructTrafficNode{charname[MAX_STRING
2、_NUM];//班次//MAX_STRING_NUM最为10intStartTime,StopTime;//起止时间intEndCity;//该有向边指向的顶点在数组中的位置,即该城市编号intCost;//票价}TrafficNodeDat;typedefstructVNode{CityTypecity;intTrainNum,FlightNum;//标记下面Train数组和Flight数组里元素个数TrafficNodeDatTrain[MAX_TRAFFIC_NUM];//数组成员为结构体,记录了到达城市、起止时间、票价和班次Traff
3、icNodeDatFlight[MAX_TRAFFIC_NUM];//intCost;//遍历时到达该城市的耗费(时间或者费用)}VNodeDat;typedefstructPNode{intCity;intTraNo;}PNodeDat;3.系统功能设计(1)添加城市。添加一个城市的名称(2)删除城市。输入一个城市名称,删除该城市。(3)添加交通路线。输入起始城市、终点城市、航班或火车、车次、起始时间、终点时间和票价(4)删除交通路线。输入火车或飞机的班次删除该交通路线。(5)查询最小费用路线。输入起始城市、终点城市、航班或火车、车次、起始
4、时间、终点时间查询最小费用路线。三、模块设计1.模块设计无向网操作模块工作区模块主程序模块(图2.2模块调用示意图)2.系统子程序及功能设计(1)intShowMenu()//主菜单(2)voidCopyRight()(3)intSeekCity(char*name)//寻找城市(4)intInsertCity(char*Name)//添加城市(5)intSaveSysInfo()//向程序输入数据(6)intDelCity(char*Name)//删除城市(7)intInsertTrain(char*train,char*StartCity
5、,char*EndCity,intStartTime,intEndTime,intcost)//添加火车路线(8)intInsertFlight(char*flight,char*StartCity,char*EndCity,intStartTime,intEndTime,intcost)//添加飞机航线(9)intDelPath(char*name)//删除路线(10)voidDijkstra(intmatx[Dij_MAXN][Dij_MAXN],intp_start,intp_end,intTravelType)(11)intInitS
6、ysData()//存储数据(12)intSearchMinTime(CityTypeCity,CityTypeEndCity,intCurTime,intcurPathNo,intTravelType)//查询最短时间(13)intCalcMinTime(intStartCity,intEndCity,intTravelType)//显示最短时间(14)intCalcMinCost(intStartCity,intEndCity,intTravelType)//最少花费(15)intmain()//主函数3.函数主要调用关系图15main(
7、)89112754136361223716(图2.3函数主要调用关系图)四、详细设计1.数据类型定义(1)全局变量的定义typedefshortintCityType;//CityType定义短整形的变量typedefstructTrafficNode{charname[MAX_STRING_NUM];//班次//MAX_STRING_NUM最为10intStartTime,StopTime;//起止时间intEndCity;//该有向边指向的顶点在数组中的位置,即该城市编号intCost;//票价}TrafficNodeDat;typede
8、fstructVNode{CityTypecity;intTrainNum,FlightNum;//标记下面Train数组和Flight数组里元素个数Traffic