




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 毕毕业业设设计计说说明明书书 题题 目目 公交查询系统公交查询系统 英文并列题目英文并列题目 BusSearch System 学院学院 计算机与电子信息计算机与电子信息 专业专业 计算机网络技术计算机网络技术 班级班级 指导教师 职称 指导教师 职称 实验师 实验师 完成时间完成时间 年年 5 5 月月 9 9 日至日至 年年 6 6 月月 1515 日日 系 主 任 批准日期 精品文档 毕毕 业业 设设 计计 任任 务务 书书 计算机与电子信息学院计算机与电子信息学院 系 计算机网络技术计算机网络技术 专业 班 学生 一 毕业设计 论文 课题 公交查询系统公交查询系统 二 毕业设计 论文 工作自 年 5 月 9 日起至 年 6 月 15 日止 三 毕业设计 论文 进行地点 四 毕业设计 论文 的内容要求 设计并实现一个具有查询功能的城市公交查询系统 具体要求如下 1 系统实现简易的欢迎封面 有 2 种或 2 种以上的查询功能选择等 2 实现根据公交路线查询出该路公交的全部途经路线 根据站点实现途经该站点的公交 线路 3 能够实现换乘查询功能 或 2 点之间有无公车通过的线路 4 输出全部公交线路和站点的信息 教研室负责人 指导教师 接受设计论文任务开始执行日期 年 5 月 9 日 学生签名 精品文档 摘摘 要要 公交乘客信息系统的发展处于一个较落后的水平 广大乘客可以获得信息的方式很 少 为了解决这种问题 加快发展城市公交信息化 设计一个城市公交查询系统是具有一 定实际应用意义的 出于这个目的 在老师的指导下 我设计了这个城市公交出行线 路查询系统这个查询系统 城市公交查询系统能够帮助出行者快速地选择出行路径 换乘路线等 既优化了公交资源的配置 又提升了出行者的效率 提高了交通运输的 效率和城市的信息化水平 首先分析了 城市公交乘客信息系统的发展现状 找出问题 和不足 其次 在对公交乘客出行心理特征进行分析的基础上 考虑了乘客选择公交 线路决策的因素 建立了基于时间价值和费用价值的公交线路选择合理的模型 在此 基础上 进行程序关键部分的框架设计 理清程序设计思路 之后是程序关键部分的 具体实现 包括关键程序原代码 最后完成功能介绍和使用说明 关键词关键词 公交公交 查询查询 C C 数据统计数据统计 精品文档 Abstract The development of the bus passenger information system is in a level that fall behind of the city in maoming The large part of passengers can acquire few ways of the information So it s practical for us to develop city s bus passenger information system in order to resolving this problem For this purpose I design this system procedure bus circuit search system From this design First I analyzed the present condition of the bus passenger information and different people s needs in order to know what functions this equipment should contain Second I describe the system s main function modules in detail these functions can be divided in to two parts search system According to the line search station search and between two stations search and management update system Bus station management and Bus line management At last according to the problems that happened in the period of using I summed up some ways to improve the system and some experiences that I can have from this research Keyword Bus Search C DataStatistics 精品文档 目目 录录 摘 要 I Abstract II 目 录 III 第一章 引 言 1 第二章 公交查询系统的概述 2 2 1 系统的开发背景 2 2 1 1 城市公交的发展史 2 2 1 2 公交现状 3 2 2 系统的开发意义 3 2 3 系统的开发目标 3 2 4 系统开发技术概述 4 2 4 1 C 语言的介绍 4 2 4 2 数据库的设计 4 2 4 3 开发环境介绍 5 2 5 核心技术 6 2 5 1 KMP 算法 6 2 5 2 朴素算法 6 2 6 系统所用的工具 8 2 7 系统运行所需要的环境 8 第三章 需求分析 9 3 1 应用需求分析 9 3 2 功能需求 9 3 2 1 条件查询模块 10 3 2 2 全局查询模块 10 3 3 功能说明 11 3 4 可行性分析 11 3 4 1 经济可行性 12 3 4 2 技术可行性 12 3 4 3 开发可行性 12 第四章 概要设计 13 4 1 系统总体功能流程图 13 4 2 功能设计 14 4 2 1 根据公车线路查询 14 4 2 2 根据站点查询线路 14 4 2 3 两点间车次查询 15 4 2 4 显示所有信息 16 第五章 系统实现 17 5 1 查询模块的功能实现 17 5 1 1 用户界面核心代码 17 5 2 主查询方式 23 5 2 1 根据公交线路查询 23 精品文档 5 2 2 根据站点查询经过车次 27 5 2 3 查询两站间有无车次可通 29 5 2 4 获取线路和站点的信息 31 第六章 系统详细设计与最终效果 33 6 1 系统功能演示 33 6 2 根据公交车查询线路 33 6 3 根据站点查询经过车次 34 6 4 查询两点间有无车次通过 35 6 5 输出所有线路和站点信息 35 第七章 系统测试 37 7 1 确认测试 37 7 2 系统测试 37 7 3 用户验收测试 37 7 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 s1s2 sn 的第一个字符开始和模式串 t t1t2 tm 中的第一个 字符比较 若相等 则继续逐个比较后续字符 否则从目标串 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 第第 1次次匹匹配配 s cddcdc i 3 t cdc j 3 失失败败 第第 2次次匹匹配配 s cddcdc i 2 t cdc j 1 失失败败 第第 3次次匹匹配配 s cddcdc i 3 t cdc j 1 失失败败 第第 4次次匹匹配配 s cddcdc i 6 t cdc j 3 成成功功 核心代码 子串定位 int Index SString S SString T int pos i pos j 1 while i S 0 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 功能需求 本系统主要实现以下功能 精品文档 查询方式 通 过 公 交 线 路 通 过 站 点 两 站 间 公 车 所 有 公 交 信 息 图 3 1 公交查询模块图 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 userInterface char 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 userInterface void userInterface searchTrace busName new char 10 cout endl busName try bus BUS busName cout endl cout BUS note endl BUS printInformation catch bus Error 精品文档 cout endl sorry 您要查找的线路 busName 本系统暂时没有收录或者该线路不存在 endl 请确定您的输 入是否正确 endl userInterface searchTrace void userInterface searchBuses char positionName new char 40 cout endl positionName try position POSITION positionName cout endl POSITION printPassBuses catch position Error cout endl Sorry 本系统暂时没有收录经过 positionName 的线路 endl 请确定您的输入是否正确 endl userInterface searchBuses void userInterface searchPassWay cout endl frPos cout endl toPos try position fromPosition new position frPos position toPosition new position toPos 精品文档 fromPosition isThrough toPosition catch position Error cout endl Sorry 本系统暂时没有收录经过 frPos 或 toPos 的线 路 endl 请确定您的输入是否正确 endl userInterface searchPassWay void userInterface showInformation int i 0 ifstream in file in file open source busname txt ios in char inbus new char 5 cout endl 线路信息如下 inbus i cout inbus if in file eof cout if i 15 cout endl cout endl in file close in file open source positionname txt ios in char inpos new char 40 cout endl 站点信息如下 inpos i 精品文档 cout inpos if i 8 cout endl cout endl in file close delete inbus delete inpos userInterface showInformation void userInterface loop cout endl cout endl cout 欢迎使用 公交查询系统 endl cout endl cout endl 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 cout choice 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 loop void userInterface ifcontinue cout endl getch if getch y loop else exit 1 userInterface ifcontinue userInterface userInterface frPos new char 40 toPos new char 40 userInterface userInterface userInterface userInterface delete busName delete frPos 精品文档 delete toPos userInterface userInterface 5 2 主查询方式 本系统有 4 种查询方式供用户自行选择 通过选择用户所需的方式进行有目的性 的查询 5 2 1 根据公交线路查询 核心代码如下 class bus private 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 bus void bus initialize 精品文档 int i trackName new char 60 upTrack new char 600 downTrack new char 600 fromTime new char 60 toTime new char 60 price new char 60 char locator new char 30 strcpy locator source bus if name 路 strcat name 1 locator else strcat locator name strcat locator txt ifstream in file in file open locator ios in char mystring 6 mystring 0 new char 60 mystring 1 new char 600 mystring 2 new char 600 mystring 3 new char 60 mystring 4 new char 60 mystring 5 new char 60 for i 0 i 5i in file getline mystring i 1000 in file close strcpy trackName mystring 0 strcpy upTrack mystring 1 strcpy downTrack mystring 2 strcpy fromTime mystring 3 strcpy toTime mystring 4 strcpy price mystring 5 for i 0 i 5 i 精品文档 delete mystring i delete locator bus initialize bus bus char n note new char 100 strcpy note name new char 10 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 不存在或者本系统没有记录这条线路 下面这条线路供参 考 else char temp new char 11 strcpy temp 路 strcat temp name 精品文档 if isExist temp initialize strcpy note 您要查找的线路 strcat note name strcat note 不存在或者本系统没有记录这条线路 下面这条线路供参 考 delete temp if note throw Error bus bus bus delete note delete name delete trackName delete upTrack delete downTrack delete fromTime delete toTime delete price bus void bus printInformation cout trackName endl endl cout upTrack endl downTrack endl cout endl fromTime endl toTime endl cout endl price instring if strcmp busName instring in file close return 1 in file close return 0 isExist 5 2 2 根据站点查询经过车次 核心代码如下 class position private char name char passBuses int isExist char public position char n position char getName return name char getPassBuses return passBuses void printPassBuses cout passBuses endl void isThrough position class Error 异常类 class position position members function 精品文档 position position char n name new char 40 strcpy name n if isExist name char locator new char 200 strcpy locator source position strcat locator name strcat locator txt ifstream in file in file open locator ios in char mystr new char 600 in file getline mystr 1000 in file close passBuses new char 600 strcpy passBuses mystr delete mystr delete locator else throw Error position position position position delete name delete passBuses position position 精品文档 5 2 3 查询两站间有无车次可通 核心代码如下 int Index KMP char s char t 转化 s 和 t 成为另一种类型的字符串 它的第一个字节存放串的长度 没有串 的结束符如 0 等 且内容都为 unsigned char 型 此类型可用模式匹配算法 int count 1 unsigned char T 11 while t T count unsigned char t T 0 count 1 count 1 unsigned char S 500 while s S count unsigned char s S 0 count 1 int i 1 j 1 while i S 0 else return 0 Index KMP position position delete name delete passBuses position position void position isThrough position destination 精品文档 char returnInfo new char 300 strcpy returnInfo char destinationTrack new char 600 char outBuses new char 500 char inBuses new char 500 char subString 200 char p passBuses while p p p strcpy outBuses p strcpy destinationTrack destination getPassBuses p destinationTrack while p p p strcpy inBuses p p inBuses while p int i 0 while p subString i 0 if Index KMP outBuses subString strcat returnInfo subString strcat returnInfo if if p p 2 while 精品文档 if returnInfo strcat returnInfo 等线路两站都会经过 else strcpy returnInfo 很遗憾 两站之间没有线路可通 cout endl returnInfo instring if strcmp posName instring in file close return 1 in file close return 0 position isExist 5 2 4 获得线路和站点信息 核心代码如下 void userInterface showInformation int i 0 ifstream in file in file open source busname txt ios in char inbus new char 10 cout endl 线路信息如下 inbus i cout inbus if in file eof cout if i 10 cout endl cout endl in file close in file open source positionname txt ios in char inpos new char 80 cout endl 站点信息如下 inpos i cout inpos if i 5 cout endl cout endl in file close delete inbus delete inpos userInterface showInformation 精品文档 第六章第六章 系统详细设计与最终效果系统详细设计与最终效果 6 1 系统功能演示 启动 Mircosoft visual C 6 0 编译源文件 运行 图 6 1 界面 6 2 根据公交车查询路线 输入 1 回车 再输入所需查询的路线 如 1 路 精品文档 图 6 2 查询方式 1 6 3 根据站点查询经过的车次 输入 2 回车 再输入所需查询的车次 如广东石油化工学院 精品文档 图 6 3 查询方式 2 6 4 查询两点间有无车次可通 输入 3 回车 再输入所需查询的站点 如沃尔玛 广东石油化工学院 图 6 4 查询方式 3 6 5 输出所有线路和站点信息 输入 4 回车 精品文档 图 6 5 查询方式 4 精品文档 第七章第七章 系统测试系统测试 在做好一个项目后 要必须对该项目做全面的测试 这个是项目开发中最必要的 步骤 由于实际开发过程中还是存在不可避免的误差 系统中可能隐藏着错误和缺陷 7 1 确认测试 确认测试是通过组合测试的软件进行的 这些软件已经存于系统目标设备的介质上 确认测试的目的是表明软件是可以工作的 并且符合 软件需求说明书 中规定的全 部功能和性能要求 确认测试是按照这些要求定出的 确认测试计划 进行的 测试 工作是由一个独立的组织进行 而且测试要从用户的角度出发 7 2 系统测试 系统测试是对整个性能的测试 主要解决各子系统之间的数据通信和数据共享问 题以及检测系统是否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境数据分析与环境健康影响评估-洞察阐释
- 物流运输与配送管理协议
- 农业合作社菜园大棚承包合作与分红协议
- 2025合同范本机械设备采购合同样本
- 小学三年级英语上册期末试卷(有答案)
- 桐乡项目资料
- 地铁库管考试题库及答案
- lr考试试题及答案
- 超能力视力测试题及答案
- 加州驾考笔试题目及答案
- 威斯敏斯特大教理问答
- 《爱的教育》课外阅读指导课课件
- 安全系统工程课程设计
- 新编阿拉伯语第二册第三课 在医院
- 安徽省淮南市各县区乡镇行政村村庄村名明细
- 有限空间辨识管理台帐
- 统编语文小学二年级下册《找春天》说课稿
- Q∕SY 1770.6-2014 连续管常规修井作业规程 第6部分:速度管柱作业
- 2023年最新的郭德纲单口相声济公传全集
- 畜禽养殖技术培训
- 临床医生做科研(课堂PPT)
评论
0/150
提交评论