公交车查询系统设计毕业论文.doc_第1页
公交车查询系统设计毕业论文.doc_第2页
公交车查询系统设计毕业论文.doc_第3页
公交车查询系统设计毕业论文.doc_第4页
公交车查询系统设计毕业论文.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档公交车查询系统设计毕业论文目 录摘 要IAbstractII目 录III第一章 引 言1第二章 公交查询系统的概述22.1 系统的开发背景22.1.1 城市公交的发展史22.1.2 公交现状32.2 系统的开发意义32.3 系统的开发目标32.4 系统开发技术概述42.4.1 C+语言的介绍42.4.2 数据库的设计42.4.3 开发环境介绍52.5核心技术:62.5.1 KMP算法62.5.2 朴素算法62.6系统所用的工具:82.7系统运行所需要的环境8第三章 需求分析93.1 应用需求分析93.2 功能需求93.2.1条件查询模块103.2.2 全局查询模块103.3 功能说明113.4 可行性分析113.4.1 经济可行性123.4.2 技术可行性123.4.3 开发可行性12第四章 概要设计134.1 系统总体功能流程图134.2 功能设计144.2.1 根据公车线路查询144.2.2根据站点查询线路144.2.3 两点间车次查询154.2.4 显示所有信息16第五章 系统实现175.1 查询模块的功能实现175.1.1 用户界面核心代码175.2主查询方式235.2.1 根据公交线路查询235.2.2 根据站点查询经过车次275.2.3 查询两站间有无车次可通295.2.4获取线路和站点的信息31第六章 系统详细设计与最终效果336.1系统功能演示336.2根据公交车查询线路336.3 根据站点查询经过车次346.4查询两点间有无车次通过356.5输出所有线路和站点信息35第七章 系统测试377.1 确认测试377.2 系统测试377.3 用户验收测试377.4 系统难点分析37结 论38致 谢39参考文献41精品文档 第一章 引 言 随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重要! ,作为一个旅游城市,每年都要吸引大量的游客,为了方便广大游客,我的毕业设计就以公交查询系统做为设计课题。我认为这样的系统应该具有很好的实用性!乘客只需选择车次或输入要查询的站点,系统会快速的给出结果,同时还添加了2点之间查询有无车次通过的功能。正是基于这样的目的我开发了公交查询系统。我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。我国公交乘客信息系统的现状特点如下:(1) 我国乘客一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式。乘客可以获得的公交信息较少(2)乘客出行中获得信息困难,基本上没有实时信息。除了几个少数城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。由上所述,我国公交乘客信息系统总体上处于较低水平。较低的发展水平既是发展的困难,也是发展的机遇。我们应将发展公交乘客信息系统作为一个提高公交效率,增强公交吸引力的重要手段。 公交查询系统根据公交线路的调整及时更新数据库使得人们不必为自己的错误记忆或是不熟悉线路而付出时间和金钱的代价,目的才是最终想要的,所以准确性才是最重要的第二章 公交查询系统的概述2.1 系统的开发背景2.1.1 城市公交的发展史近年来, 市委、市政府和市交通运输局非常重视公交发展,积极采取措施优先发展公交,加大政策扶持与资金投入,有效地推动了城市公交的发展。2009年7月,市政府出台了 市优先发展城市公共交通的实施意见,这是我市建市50年来首次以政府名义颁布的优先发展城市公共交通的政策性文件,从而为公交持续、健康、稳步发展提供了可靠政策保障;2010年8月,市政府召开常务会议,原则通过 市区公共交通规划,这是我市第一个较为完整的系统的公交规划,通过规划,我市城市公共交通目前存在的规划滞后、站场建设差、公交车辆少、线路安排不合理等问题将会得到逐步解决,进一步促进城乡公交一体化,为实现我市公交优先发展和促进城市经济发展打下扎实的基础。2009年,市政府投入了850万元购置新公交车27辆,实现市区建成区全部通公交;2010年,又分两批投入资金1700多万元购置68辆新公交车投入营运。为了提高服务质量,对新公交车增加科技投入,全部安装了GPS自动报站器、治安监控录像及发动机仓自动灭火器等高新技术设施,为市民提供高层次服务。“十一五”期间,共投入资金近3000万元,购置、更新公交车152辆,新增线路11条,城市公交车每万人拥有量从3.3标台增加到5标台。同时市政府常务会议明确从 年起4年内,每年安排2000万元专项资金用于扶持市区公共交通建设,要求今年内实现市属茂南、茂港两区镇墟及行政村通公交,以促进公交事业大发展。2010年,总公司为配合市政府和市交通运输局大力优先发展城市公共交通战略的实施,按照市交通运输局潘北林局长关于“公交车承包经营不符合公共交通发展要求,请市公共汽车公司对承包经营的线路进行清理,采取措施收回自营”的批示精神,积极规划新开线路,科学合理优化线网布局,新增公交线路6条,收回承包线路3条,先后对4条线路进行优化调整。 年,总公司为加快市区公交发展步伐,计划增加市区公交车运行密度和新开公交线路8条;计划新增100辆LNG天然气公交车,实现节能环保、低碳的公交车;在 大道等路段建设不锈钢候车亭20个,继续完善服务设施;实现茂南、茂港两区具备通车条件的行政村全部通公交;规划新建排河公交综合站、高地片区公交综合站和西城片区公交首末站,逐步解决公交站场和配套设施不足的问题;加大科技投入,安装GPS/GPRS智能管理公交调度系统,合理排班科学调度,不断完善各项管理制度,提高营运管理水平,以实现公共交通对市属区具备条件通公交行政村的全覆盖,提高服务水平,为群众创造一个便捷、实惠的乘车环境,解决群众出行难问题。2.1.2 公交的现状目前 有公交车216辆,线路24条,公交线路总长度458.8公里,公交线路总长比三年前增加了近300公里,公交线网覆盖我市城区及茂南、茂港区大部分镇村。 经营范围包括市内客运,汽车出租、修理,车身、候车亭广告,招待所,物业管理;内设经理办、综合办、安全部、财务科、企管科、后勤服务中心、IC卡管理中心、修理厂、招待所、一分公司、二分公司、点钞中心、材料供应部和广告分公司等14个部门(科室)。2.2 系统的开发意义本文所介绍的公交查询系统是基于C+应用程序开发设计的,其主要特性是能动态、实时的完成信息的查询,且具有高效的交互性,有效的处理客户请求, 易于维护和更新,它规模适中,适合于个人开发,能够锻炼同学的学习新知识能力,锻炼同学的编程能力,锻炼同学的软件工程的思维方式.它的具体意义如下: (1)目前,国内各城市公交发展的速度不同,对于城市的民众来说,在他们所居住的城市里活动,如何获取有效、快速、实用的公交信息,是他们最渴望的,这将为城市民众提供很大的方便,同时也是他们对公交行业的有新的认识的途经。.(2) 一个城市的公交查询对来自别的城市的民众同样重要,在他们出差,旅行或跑业务的时候,通过对公交查询系统的使用,能大大提高他们出行的效率。因此,一个简单,实用,效率高的查询系统是有必要的。(3)一个实用高效的查询系统也能体现出该城市或外来人士的为人民服务,对人民关心体贴的宗旨。2.3 系统的开发目标现在大多数主流的公交查询系统或网站界面都是比较简洁的,对于使用者来说.一个简单而明了的查询系统,可以让他们迅速的了解如何使用,而且,使用者很大一部分都是在一个情况比较着急或立即需要的条件下才使用公交查询系统的。因此,一个简单高效又实用的查询系统才是做到对用户的一个考虑方向。并且,这也和编程语言中面向对象的宗旨是相吻合的,所以本系统在界面上的开发并没有过多的研究或加入复杂的元素。在查询的功能上,本系统列出了4种其中包括3种查询方式和一种查询全局参数方式,以便用户自行参考使用。2.4 系统开发技术概述 2.4.1 C+语言的介绍C+是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格,一种使用非常广泛的计算机编程语言。C+语言运用在广泛的领域,例如,主流的3种操作系统Windows,Linux,Unix,内核都是用C语言和汇编写的,上层高级特性是用C+写的。2.4.2 数据库设计: 本系统的数据库设计,采用了载入TXT文本文档进行数据库设计。通过对市场的调查,各建立一个bus主文件夹和position主文件夹分别进行通过查询线路得出途经的站点和通过查询站点得出途经的公交路线。另外,还建立了3个名为线路名称、busname、positionname的数据库进行两站点之间查询有无车次通过的方法。其总体结构分析如下:busname用来保存线路名称,即公交名。数据格式定义为:1路、2路、3路、6路、7路、8路、9路、10路、11路、12路、16路、18路、201路、202路、203路,类型定义为文本。Positionname用来保存站点名称,数据格式定义为:百花大厦 春苑公园 妇幼保健院 公交商业城 官渡市场 广东石油化工学院 河西汽车站 交通技工学校 大厦 火车站 人民广场 人民医院 市二技学校 市委大院 市政府 体育中心 铜鼓岭 文化广场 沃尔玛 移动通讯公司 镇盛街 市府中心广场 等。线路名称用来保存公车路线的途径上下行站点,发车起始时间,以及对应的车票费用。2.4.3 开发环境介绍:Visual C+是Microsoft C/C+ 7.0之后推出的新一代程序开发工具,它不仅继承C+的特性,同时具备可视化程序语言(Visual Programming Language)及程序产生器的概念。既然是面向对象语言,当然会提供系统基础类给程序员再使用(Reuse)。在Visual C+ 中,延袭Microsoft C/C+7.0的作法,将原有的SDK函数重新封装在适当的类中,构造了“基础类函数库(Microsoft Foundation Class Library,简称MFC)”,它提供了许多现成的框架对象,可供在使用Visual C+设计应用程序是使用。此外,还提供“ClassWizard”与“AppWizard”可帮助构造基本的程序框架,从软件再使用的技术观点而言,已由SDK函数库方式经过面向对象程序设计方式进展到自动产生模板相关类程序代码方式(Framework)。面向对象的程序设计是一种新型的程序设计方法,计算机环境本身就是一个对象的集合体,对象彼此之间通过消息相互作用,面向对象的程序设计提高了程序的模块化和可维护性。面向对象的程序设计有几个特点及优点。首先,由于对象包含属性和方法,因此支持模块化程序设计,而模块化程序设计支持开发的便利性及代码的可维护性。Visual C+ 6.0是Microsoft公司推出的功能最强大、最复杂的语言产品之一,它是目前为止在Windows环境下进行大型软件开发的首选。其具有如下特点:(1)Visual C+ + 的语法符合ANSL C+ + 标准,并在此基础上针对Windows操作系统增加了一些语句;(2)集成了MFC(Microsoft Foundation Class)类库,MFC封装了Windows API函数和消息,使程序员可以使用MFC高效率地开发各种应用程序;(3)提供了MFC AppWizard,可方便地生成程序框架;(4)提供了基于MFC的ClassWizard,通过它可以轻松地完成对各种MFC类的使用与维护。Visual C+ 6.0作为Visual Studio家族中的一员,是Microsoft公司以C+语言为基础开发的可视化集成开发工具,与其他编程语言Visual Basic 6.0、Visual ForPro等一起,成为广大程序员喜爱的开发平台。2.5核心技术:2.5 1 KMP算法KMP算法是D.E.Knuth、J.H.Morris和V.R.Pratt共同提出的,简称KMP算法。2.5 2 朴素算法串的模式匹配算法1. 朴素模式匹配算法(Brute-Force算法)求子串位置的定位函数Index( S, T, pos).模式匹配:子串的定位操作通常称作串的模式匹配。目标串:主串S。模式串:子串T。匹配成功:若存在T的每个字符依次和S中的一个连续字符序列相等,则称匹配成功。返回T中第一个字符在S中的位置。匹配不成功:返回0。Brute-Force简称为BF算法,亦称简单匹配算法,其基本思路是:从目标串s=“s1s2sn的第一个字符开始和模式串t=“t1t2tm中的第一个字符比较,若相等,则继续逐个比较后续字符;否则从目标串s的第二个字符开始重新与模式串t的第一个字符进行比较。依次类推,若从模式串s的第i个字符开始,每个字符依次和目标串t中的对应字符相等,则匹配成功,该算法返回i;否则,匹配失败,函数返回0。例如,设目标串s=“cddcdc”,模式串t=“cdc”。s的长度为n(n=6),t的长度为m(m=3)。用指针i指示目标串s的当前比较字符位置,用指针j指示模式串t的当前比较字符位置。BF模式匹配过程如下所示。i = i j +2;j = 1;核心代码:子串定位int Index( SString S, SString T, int pos) i= pos; j = 1; while( i=S0 & jT0) return i-T0; else return 0;2.6系统所用的工具: 主要开发工具:Microsoft visual C+ 6.0。数据统计工具:TXT记事本。2.7系统运行所需要的环境硬件配置 :硬 盘:40GB以上硬盘;内 存:256以上的DDR内存;显 卡:128M以上显存显卡中央处理器(CPU) :P4 2.0G以上的处理器;软件配置:WINDOWS XP 版本、Microsoft visual C+ 6.0。 精品文档 第三章 需求分析3.1 应用需求分析要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。公交查询系统的应用背景为:方便市民搭乘公交车出行;手动(目前)、自动(将来)、及时更新查询数据。因此,该系统需满足以下几方面需求:1)问题分析(1)功能需求:该模块实现公交查询功能。该模块实现数据的录入、修改、删除功能。(2)性能需求:系统的相应时间不能超过10ms。(3)出错处理需求:当输入的信息不全,或格式不正确时,提示出错信息,即退出或继续查询。2)问题描述(1)信息要求:可实现按起点中转站终点查询查询和按线路查询,按站点查询等三种查询方式。(2)处理要求:该模块实现通过TXT文本文档形式进行数据的录入、修改、删除功能。(3)安全性与完整性要求。本系统并无在此方面进行复杂的设计,使用者仅需输入查询方式,再按查询的方法进行查询即可。3.2 功能需求 本系统主要实现以下功能:查询方式通过公交线路通过站点两站间公车所有公交信息图31 公交查询模块图3.2.1条件查询模块选择条件查询方式选择站点查询选择两点间有无车次查询选择线路查询继续或退出图3-2 条件查询3.2.2 全局查询模块选择显示全部公交信息显示全部线路和站点继续或退出图3-3 全局查询3.3 功能说明主要功能:1)通过线路查询:输入查询方式1,输入要查询的车次的名称,如1路,结果显示出该公车路线经过的站点;2)通过站点查询:输入查询方式2,输入要查询的站点的名称,如沃尔玛,结果显示出途经该站点的所有公车车次;3)查询两点间有无车次经过:输入查询方式3,输入要查询的两站的名称,如沃尔玛、广东石油化工学院,结果显示出通过两站点的车次;4)显示全部信息:输入查询方式4,结果分别显示出所有站点和所有公车路线的记录;3.4 可行性分析 可行性分析是对系统进行全面、概要的分析。它的任务是确定项目开发时是否必要和可行。它的主要目标是:进一步明确系统的目标、规模和功能,对系统开发背景、必要性和意义进行调查分析,并且提出系统的逻辑模型和各种可能的方案,从而为系统开发项目的决策提供科学依据。主要从三个方面进行研究:3.4.1 经济可行性 从这方面来说,本系统的开发作为课题来说不需要什么经济投入,因此来说也是可行的。本查询系统是一个简洁明了、实用、使用简单、具有人性化的特点。实现这个查询系统并不需要花费大量的时间费用,使用的是Mircosoft visual C+ 6.0开发软件。3.4.2 技术可行性 技术可行性:以现有技术进行系统开发及系统实施,是完全可行的。首先,从自身来分析,经过大学2年多的学习已经初步掌握了C+、数据库等方面的编程技巧,对该软件的设计有所了解。第二方面,在设计这个系统之前,我进行了一系列先期调研,查阅了有关使用C+进行数据库开发方面的论著、教材和论文,更多是利用网络的便利条件,从网上查阅了沈阳、大连、广州、昆明等大型城市的公交查询系统,并认真地对其进行了分析研究,由于时间紧,任务重,我没有更多的时间来开发完整的系统,所以就以查询作为这个系统的核心。其次,从数据库方面来分析,也是可行的。系统所建立的数据库中包含有五个字段:bus ,busname, position, 线路名称, positionname用来存放本查询系统中所需要的全部数据。3.4.3 开发可行性 本项目开发语言为C+,开发平台为Window XP下的编程环境,后台数据支持采用TXT文本文档。精品文档 第四章 概要设计4.1 系统总体功能流程图 用户公交查询系统公交查询模块数据管理整个系统数据库图4-1 系统总体流程图功能流程说明如下:(1)启动Mircosoft visual C+ 6.0服务器程序,服务器对本系统编译。(2)运行本系统。(3)用户查询使用界面。(4)用户根据系统界面提供的4种方法自行选择所需的方式查询。(5)查询系统收到命令,根据查询方式查找对应类型的数据。(6)打印输出在查询界面。(7)当用户查询结束后,出现是否继续Y/N。如继续Y,则在系统中选择其他方式操作。如退出N,则退出本系统。(8)关闭本系统。4.2 功能设计4.2.1 根据公车线路查询用户通过选择第一种查询方式,即通过输入公车路线方式查询该公车途经的全部站点信息。开始输入公车名称提交是否有该公车公车输入有误正确输出该公车途经站点图4-2 根据公车路线查询流程图4.2.2根据站点查询路线 用户通过输入站点,即输入站点查询途径该站点所有公车的线路信息。图4-3 根据站点查询路线流程图4.2.3 两点间车次查询 用户通过输入两个站点,即输入第一个站点和第二个站点查询该两站有无车次通过,并输出通过两个站点所有点公车路线。开始输入两个站点输出途径的公车格式有错格式正确图4-4 两点间车次查询流程图4.2.4 显示所有信息 用户通过输入最后一种方式,即输出所有公车的名称和站点。开始选择最后一种输出全部信息输出全部信息图4-5 显示所有信息流程图第五章 系统实现5.1 查询模块的功能实现公交查询模块是用户与系统进行交互的直接媒介。除了要完成用户的请求外,更需要从用户的角度出发,以人为本。查询模块除了显示出简易的欢迎文字外,直接显示本系统所提供的几种查询方式。从实际出发对于公交查询系统而言,用户输入公车线路或站点,后台数据库查询为系统列出符合条件的公交班次。当系统发现填写有误时,则提示“本系统暂时没有收录或该线路不存在,请确定您输入是否正确”。并且提示是否继续或退出。5.1.1 用户界面核心代码公交查询系统运行界面如图5-1所示:核心代码如下:class userInterfacechar getch;char choice;char* frPos;char* toPos;char* busName;public:void searchPassWay();void searchTrace();void searchBuses();void showInformation();void loop(); void ifcontinue(); userInterface();userInterface();/class userInterfacevoid userInterface:searchTrace() busName=new char10; coutendlbusName;trybus BUS(busName);coutendl;coutBUS.noteendl;BUS.printInformation();catch(bus:Error)coutendlsorry! 您要查找的线路:busName,本系统暂时没有收录或者该线路不存在endl请确定您的输入是否正确endl;/userInterface:searchTracevoid userInterface:searchBuses() char* positionName=new char40; coutendlpositionName;tryposition POSITION(positionName);coutendl;POSITION.printPassBuses();catch(position:Error)coutendlSorry! 本系统暂时没有收录经过positionName的线路!endl请确定您的输入是否正确endl;/userInterface:searchBusesvoid userInterface:searchPassWay()coutendlfrPos;coutendltoPos;tryposition* fromPosition=new position(frPos); position* toPosition=new position(toPos);fromPosition-isThrough(toPosition);catch(position:Error)coutendlSorry! 本系统暂时没有收录经过frPos或toPos的线路!endl请确定您的输入是否正确endl;/userInterface:searchPassWayvoid userInterface:showInformation()int i=0;ifstream in_file;in_file.open(sourcebusname.txt, ios:in);char* inbus=new char5;coutendl线路信息如下:inbus;+i;coutinbus;if(!in_file.eof() cout ;if(!(i%15) coutendl;coutendl;in_file.close();in_file.open(sourcepositionname.txt, ios:in);char* inpos=new char40;coutendl站点信息如下:inpos;+i;coutinpos ;if(!(i%8) coutendl;coutendl;in_file.close();delete inbus;delete inpos;/userInterface:showInformationvoid userInterface:loop()coutendl;cout %endl; cout % 欢迎使用 公交查询系统 %endl;cout %endl; coutendl;cout本系统能够:endl;cout %o(_)oo(_)oo(_)o%endl; cout 1. 根据公交车名查询路线; %endl; cout 2. 根据站名查询经过的车次; %endl; cout 3. 查询两站间有无车次可通; %endl;cout 4. 得到线路名称和站点名称的信息;%endl;cout %o(_)oo(_)oo(_)o%endl; coutchoice; switch(choice) case 1: searchTrace(); ifcontinue(); break; case 2: searchBuses(); ifcontinue(); break; case 3: searchPassWay(); ifcontinue(); break;case 4:showInformation();ifcontinue(); break;default:cout您的输入不正确!;ifcontinue();/userInterface:loopvoid userInterface:ifcontinue() coutendlgetch; if(getch=y) loop(); else exit(1);/userInterface:ifcontinueuserInterface:userInterface()frPos=new char40;toPos=new char40;/userInterface:userInterfaceuserInterface:userInterface()delete busName;delete frPos;delete toPos;/userInterface:userInterface5.2主查询方式本系统有4种查询方式供用户自行选择,通过选择用户所需的方式进行有目的性的查询。5.2.1 根据公交线路查询 核心代码如下:class busprivate:char* name;char* trackName;char* upTrack;char* downTrack;char* fromTime;char* toTime;char* price;int isExist(char*);void initialize();public:bus(char* n);bus();char* note;void printInformation();class Error;/异常类;/class busvoid bus:initialize()int i;trackName=new char60;upTrack=new char600;downTrack=new char600;fromTime=new char60;toTime=new char60;price=new char60;char* locator=new char30;strcpy(locator,sourcebus);if(*name=路) strcat(name+1),locator);else strcat(locator,name);strcat(locator,.txt);ifstream in_file;in_file.open(locator, ios:in);char* mystring6;mystring0=new char60;mystring1=new char600;mystring2=new char600;mystring3=new char60;mystring4=new char60;mystring5=new char60;for(i=0;i=5&in_file;i+)in_file.getline(mystringi,1000);in_file.close();strcpy(trackName,mystring0);strcpy(upTrack,mystring1);strcpy(downTrack,mystring2);strcpy(fromTime,mystring3);strcpy(toTime,mystring4);strcpy(price,mystring5);for(i=0;i=5;i+)delete mystringi; delete locator;/bus:initializebus:bus(char* n)note=new char100;strcpy(note,);name=new char10;strcpy(name,n);if(isExist(name)initialize();strcpy(note, find it !);if(*name=路)if(isExist(name+1)initialize();strcpy(note,您要查找的线路:);strcat(note,name);strcat(note,不存在或者本系统没有记录这条线路;下面这条线路供参考:);elsechar* temp=new char11;strcpy(temp,路);strcat(temp,name);if(isExist(temp)initialize();strcpy(note,您要查找的线路:);strcat(note,name);strcat(note,不存在或者本系统没有记录这条线路;下面这条线路供参考:);delete temp;if(!*note)throw Error();/busbus:bus()delete note;delete name;delete trackName;delete upTrack;delete downTrack;delete fromTime;delete toTime;delete price;/busvoid bus:printInformation()couttrackNameendlendl;coutupTrackendldownTrackendl; coutendlfromTimeendltoTimeendl;coutendlpriceinstring;if(!strcmp(busName,instring) in_file.close();return 1;in_file.close();return 0;/isExist5.2.2 根据站点查询经过车次核心代码如下:class positionprivate:char* name;char* passBuses;int isExist(char*);public:position(char* n);position();char* getName()return name;char* getPassBuses()return passBuses;void printPassBuses()coutpassBusesendl;void isThrough(position*);class Error;/异常类;/class position/=position members function=position:position(char* n)name=new char40;strcpy(name,n);if(isExist(name)char* locator=new char200;strcpy(locator,sourceposition);strcat(locator,name); strcat(locator,.txt);ifstream in_file;in_file.open(locator, ios:in);char* mystr=new char600; in_file.getline(mystr,1000); in_file.close();passBuses=new char600; strcpy(passBuses,mystr); delete mystr; delete locator;elsethrow Error();/position:positionposition:position()delete name;delete passBuses;/position:position5.2.3 查询两站间有无车次可通 核心代码如下:int Index_KMP(char* s,char* t)/转化 s 和 t 成为另一种类型的字符串,它的第一个字节存放串的长度,没有串的结束符如0等/且内容都为 unsigned char 型。此类型可用模式匹配算法。int count=1;unsigned char T11;while(*t) Tcount+=(unsigned char)*t+;T0=count-1;count=1;unsigned char S500;while(*s) Scount+=(unsigned char)*s+;S0=count-1;/-int i=1,j=1; while(i=S0 & jT0) return i-T0; else return 0;/ Index_KMPposition:position()delete name;delete passBuses;/position:positionvoid position:isThrough(position* destination)char* returnInfo=new char300;strcpy(returnInfo,);char* destinationTrack=new char600;char* outBuses=new char500;char* inBuses=new char500;char

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论