据数结构课程设计方案说明文本公交乘车.doc
上传人:天马****23 上传时间:2024-09-13 格式:DOC 页数:20 大小:224KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

据数结构课程设计方案说明文本公交乘车.doc

据数结构课程设计方案说明文本公交乘车.doc

预览

免费试读已结束,剩余 10 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《数据结构与算法设计》课程设计任务书题目公交咨询程序学生姓名孙宝琳学号200701030124专业班级数学0701设计内容与要求【问题描述】利用图实现公交咨询系统,包括公交线路查询、站点查询以及最优乘车方案的查询。【软件功能】从文件中接收图和公交车信息;可实现确定公交线路查询,即输出该车的所有站点;可以对某一个站点进行查询输出该站点的所有下一站;可以对乘车方案进行查询,即输出确定起点,终点的最优乘车方案,换车输出换车次数及换车站点;【算法思想】设计公交车类(车号,路程长度,终点站)、图类(站点名,公交车类,现有路线条数,现有站点数)、Dijkstra算法类(最短路径上的最后一个站点,最短路径的站点数);从文件中接收内容并对图和公交车进行初始化,公交线路查询——在图中找到起点站,按顺序输出所有公交车号相同的站点;乘车方案中利用Dijkstra算法算出最优路线,并有最短路径的最后一个站点将路径上的所有站点入栈,出站时判断是否换车并输出方案;【提交成果】1.“《数据结构与算法设计》课程设计任务书”一份,打印装袋;2.“《数据结构与算法设计》课程设计报告”一份,打印装袋;3、上面两项内容的word文档,通过电子邮件交到指导教师。起止时间2009年6月8日至2009年6月19日指导教师签名年月日系(教研室)主任签名年月日学生签名孙宝琳2009年6月18日数据结构与算法设计课程设计专业数学与应用数学班级数学0701学号200701030124姓名孙宝琳完成日期6.18指导教师(签名)程序设计说明书【设计题目】公交咨询程序【问题描述】利用图实现公交咨询系统,包括公交线路查询、站点查询以及最优乘车方案的查询。【软件功能】1从文件中接收图和公交车信息;2可实现确定公交线路查询,即输出该车的所有站点;3可以对某一个站点进行查询输出该站点的所有下一站;可以对乘车方案进行查询,即输出确定起点,终点的最优乘车方案,换车输出换车次数及换车站点;【算法思想】设计公交车类(车号,路程长度,终点站),图类(站点名,公交车类,现有路线条数,现有站点数),Dijkstra算法类(最短路径上的最后一个站点,最短路径的站点数);从文件中接收内容并对图和公交车进行初始化,公交线路查询——在图中找到起点站,按顺序输出所有公交车号相同的站点;乘车方案中利用Dijkstra算法算出最优路线并有最短路径的最后一个站点输出乘车方案;【类的设计】structBus//公交车类{intnumber;//公交车号intlength;//总站数charbus_state[Maxstate][20];//站点};classGraph//建立无向图{friendclassDistance;//声明友元类private:charstatename[Maxstate][20];//站点intbusnumber[Maxstate][Maxstate];//邻接矩阵,权值为这两个站点的公交车号intcurrentstate;//当前站点数intcurrentbus;//当前公交车数Busbuses[Maxbus];//公交车信息public:Graph();//无参构造函数,对成员变量初始化voidInsertstate(charstate[]);//插入一个站点voidInsertbusnumber(charV1[],charV2[],intbusnum);//插入权值voidSet_graph();//图的建立boolIsGraphFull();//判断图是否已满voidshow_busmessage(intnumber);//输出公交信息intsearchbusnumber(charv0[],charv1[]);//查找指定站点的公交车号码voiddirection(charv0[],charv1[]);//输出指定站点的公交车方向friendvoidbusline();//把外部函数定义为图的友元函数,以便使用图的私有成员变量friendvoidsearchstate();friendvoidbestproject();friendvoidmainsurface();};classStackNode//栈结点{friendclassStack;//友元类private:chardate[20];//结点数据StackNode*link;//结点链指针public://构造函数:结点赋值StackNode(chard[]=0,StackNode*l=NULL);};classStack