南京地铁售票的C++实现
- 格式:docx
- 大小:20.54 KB
- 文档页数:14
地铁afc一、引言地铁(Metro)是一种高速高容量的城市公共交通工具,被广泛应用于全球各大城市。
为了确保地铁系统的安全和高效运营,地铁自动售票系统(Automatic Fare Collection,简称AFC)被引入。
AFC是一种用于收取地铁乘客票款的技术手段,其包括了自动售票机、地铁门禁系统以及后台数据管理系统等。
本文将对地铁AFC系统进行详细介绍。
二、地铁AFC系统的组成地铁AFC系统由以下几个组成部分构成:1. 自动售票机(Ticket Vending Machine,TVM):自动售票机是乘客购买地铁票的主要设备。
它通常安装在地铁站的售票大厅或入口处,提供各种购票方式,例如现金、信用卡、电子钱包等。
乘客只需按照屏幕上的提示,选择购票方式并支付相应费用,便可获取地铁乘车证。
2. 地铁门禁系统(Ticket Gate System,TGS):地铁门禁系统是用于控制地铁入口和出口的设备,主要用于验证乘客是否已购买有效车票。
当乘客持有效车票接近门禁系统时,系统会自动辨别票的有效性,并开启相应的闸门,方便乘客进入或离开地铁站。
3. 后台数据管理系统:后台数据管理系统是地铁AFC系统的核心,负责存储和处理所有与票款相关的数据。
它能够实时监控各个地铁站点的票款收入情况,并进行统计、分析和报告,为地铁管理部门提供有价值的数据支持,用于决策和优化地铁运营。
三、地铁AFC系统的优势地铁AFC系统带来了诸多优势,对地铁运营和乘客体验都具有积极的影响。
1. 提高乘客出行效率:地铁AFC系统使购票和通过门禁变得更加快捷和便利,减少了排队时间,提高了地铁乘车效率。
2. 降低票款流失风险:由于地铁AFC系统的自动化和数字化特点,票款的收取与管理过程更加规范和透明,有效减少了票款流失的风险。
3. 数据化运营管理:通过后台数据管理系统实时监控票款收入情况,地铁管理部门能够及时了解各个站点的客流状况、热点区域分布等信息,从而进行合理的运营和调整。
自动售检票系统城市轨道交通自动吿检票系统(AFC)是基于计算机、通信.网络、自动控制等技术,实现轨道交通售票、检票、收费、讣费.统汁、清分.管理等全过程的自动化系统,广泛应用于城市地铁、城际铁路、有轨电车、BRT 等领域。
自动售检票系统目前有两种架构.一种为典型架构.按层次结构划分为清分中心系统、线路中央讣算机系统、乍站汁算机系统、午站终端设备、牟票五个层次:另一种为互联网+架构.按结构划分为云服务器、云终端设备和移动终端。
典型架构互联网十架构自动停检票系统产品包括系统软件和系统设备两部分.其中系统软件含淸分中心系统(ACC).线路中央计算机系统(LCC)和车站计算机系统(SC):新科佳都的系统设备有自动售票机(TVM)、自动检票机(AGM)、自动验票机(TCM)、半自动售票机(BOM) x编码分拣机(ES).边门检票机(SDG)、有轨电午自动售票机、有轨电千自动检票机、有轨电午乍载检票机<TTM) x云购票机(M-TVM)、云自动检票机(H-AGH〉.人脸识别闸机等。
新科佳都十筝年來坚持自主创新•堂握核心科技,拥有完备的自主知识产权体系.全套自助终端设备. 核心模块研发.广泛运用于国内地诜、城际诜路和有轨电午等领域项目°自动售检票系统,简称AFC.是实现轨道交通售票.检票、il•费、收费、统计、淸分、管理等全过程的自动处理。
基木信息英文翻译:Automatic Fare Collection system, (AFC)自动皆检票系统是国际化大城市轨道交通运行中普遍应用的现代化联网收费系统.随着自动售检票系统的启用,乘客现在可以通过各入口处的自动售票机购买电子票。
目前上海、北京、广州.天津、深圳、南京等大城市的轨道交通地铁站都广泛使用r AFC系统作为重要客运管理应用.更女的应用场合包括电影院,体育馆,歌剧院,火车站,机场等。
AFC系统实现轨道交通售票、检票、计费.收费.统计乙淸分.管理等全过程的自动处理。
AFC运营模式AFC系统,指城市轨道交通自动售检票系统。
该系统是一种由计算机集中控制的自动售票(包括半自动售票)、自动检票以及自动收费和统计的封闭式自动化网络系统。
AFC自动售检票系统基于计算机、通信、网络、自动控制等技术,能够实现轨道交通售票、检票、计费、收费、统计、清分、管理通过自动化进行。
以下是关于AFC运行模式的介绍:AFC运行模式进行了层次划分,共分为车票、车站终端设备、车站计算机系统、线路中央计算机系统、清分系统五个层次。
层次结构是按照全封闭的运行方式,以计程收费模式为基础,采用非接触式IC卡为车票介质的组成原则,根据各层次设备和子系统各自的功能、管理职能和所处的位置进行划分的。
已经确定的五层结构型式,是根据我国国情和城市发展现状,综合考虑了轨道交通建设的特点(如线路多而复杂、建设周期长、多个业主单位等情况)而设置的,具有一定的可伸缩性。
对各层次必须实现的功能和要求做出如下规定:第一层——车票,乘客所持有的车费支付媒介。
第二层——车站终端设备安装在各车站的站厅,直接为乘客提供售检票服务的设备,规定了车站终端设备及其运营管理的技术要求。
第三层——车站计算机系统,其主要功能是对第二层车站终端设备进行状态监控、以及收集本站产生的交易和审计数据,规定了系统的数据管理、运营管理及系统维护管理的技术要求。
第四层———线路中央计算机系统,其主要功能是收集本线路AFC系统产生的交易和审计数据,并将此数据传送给城市轨道交通清分系统,以及与其进行对帐,规定了对该线路的车票票务管理、运营管理及系统维护的技术要求。
第五层———清分系统,其主要功能是统一城市轨道交通AFC系统内部的各种运行参数、收集城市轨道交通AFC系统产生的交易和审计数据并进行数据清分和对帐、同时负责连接城市轨道交通AFC系统和城市一卡通清分系统,规定了对车票管理、票务管理、运营管理和系统维护管理的技术要求。
在自动检票闸机系统中,需要多串口应用,例如车票自动吞吐口、非接触式IC卡、用于显示提示信息的显示屏、阻挡装置控制器、中心控制器、报警器等等,同时需要网口、USB接口与系统终端进行信息通讯。
AFC解决方案AFC解决方案是指自动售票系统(Automatic Fare Collection System)的解决方案,它是一种用于公共交通领域的先进技术,旨在提高乘客购票和进出站的便利性、安全性和效率。
本文将详细介绍AFC解决方案的定义、功能、优势以及实施过程。
一、定义AFC解决方案是一种集成为了硬件设备、软件系统和网络通信技术的自动售票系统。
它通过自动识别乘客身份、实时计费和数据管理,实现公共交通的智能化运营管理。
二、功能1. 自动售票:AFC解决方案通过自动售票机,实现乘客购买车票的自助化,减少人工售票的繁琐过程,提高购票效率。
2. 电子支付:AFC解决方案支持多种电子支付方式,如IC卡、二维码支付、挪移支付等,方便乘客选择适合自己的支付方式。
3. 闸机进出站:AFC解决方案通过闸机设备,实现乘客刷卡进出站,自动识别乘客身份,减少人工查验的时间和工作量。
4. 实时计费:AFC解决方案能够根据乘客的出行距离和时间,实时计算票价,并自动扣除相应费用,提高计费的准确性和便利性。
5. 数据管理:AFC解决方案能够实时采集、存储和分析乘客的出行数据,为公共交通管理部门提供数据支持,优化路线规划和运营管理。
三、优势1. 提升乘客体验:AFC解决方案实现了公共交通购票和进出站的自助化,减少了乘客排队等候的时间,提高了乘客的出行体验。
2. 提高运营效率:AFC解决方案通过自动化的售票和进出站过程,减少了人工操作的环节,提高了运营效率,降低了运营成本。
3. 加强安全管理:AFC解决方案通过自动识别乘客身份和实时计费,减少了人工操作的错误和漏洞,提高了安全管理水平,防止票款的流失和乘客的逃票行为。
4. 数据分析决策:AFC解决方案能够实时采集和分析乘客的出行数据,为公共交通管理部门提供数据支持,优化路线规划和运营决策,提高运营效益。
四、实施过程1. 硬件设备安装:根据具体的场景需求,安装自动售票机、闸机设备等硬件设备,确保设备的正常运行和稳定性。
浅谈轨道交通网络化AFC系统票务管理随着现代化城市进程的加快,轨道交通逐渐成为人们交通出行的重要工具,而票务管理是轨道交通日常运营的关键,这项服务工作的优劣对于整个轨道交通运营都有着直接的影响。
随着城市轨道交通线路的扩充,轨道交通网络化AFC系统票务管理越来越重要,在未来发展过程中,应进一步推动AFC系统的快速发展。
一、轨道交通网路化AFC系统票务管理流程南京地铁AFC票务系管理系统主要包括售票、退票、显示时间表、查询、更新、票务、浏览信息、更新车次等模块,为地铁站的日常运营提供极大的便利。
同时,AFC系统实现了地铁站的多线建设,为乘客提供无障碍换乘和统一服务界面,基于信息化系统,实现了南京地铁线路的互联互通。
网络化AFC系统的票务管理主要实现票卡的库存、预赋值、初始化、采购等业务,网络化多线路运营过程中,AFC系统采用三级管理模式:车站、线路票务中心和票卡清分部。
票卡清分部统一进行车标采购,在空白车票库存中管理全部采购车票。
车票投入使用之前,首先完成初始化,没有进行初始化的车票无法进入AFC系统使用。
当车票库存小于标准值时,开始车票采购,通过票卡清分部对单程车票进行初始化然后存入车票库,分配到各个线路,已经完成初始化的计次票、记账票、储值票等非单程票通过车票预赋值、个性化管理提交到售票代理站或者存入车票库。
轨道交通系统正常运营过程中,由票卡清分部完成各条线路车票的调配,票务中心来完成同一条线路各个站之间的车票管理和调配。
同时,票卡清分部负责车票预赋值,然后分配到各个线路,各个线路上的票务中心在对一些紧急车票进行预赋值之前,必须获得清分中心的相关授权,然后将相关数据传送到票卡清分部。
另外,轨道交通网络系统中,对于车票替换、退票、退款、挂失等业务,票卡信息自动保存在AFC系统中,一旦发现有问题的票卡,相关信息反馈到票卡清分部,最后完成车票的统一销毁和注销,重新进行初始化以后再投入使用。
二、轨道交通网络化AFC系统票务管理架构1、车票轨道交通AFC系统票务管理中心对车票进行初始化,然后分配到各条线路。
AFC方案简介AFC(Automatic Fare Collection,自动售票系统)是一种现代化的公共交通票务系统,通过使用电子技术对乘客进行身份认证和票务处理,实现自动购票、刷卡乘车、自动扣费等功能。
AFC方案是指实施AFC系统所需的具体方案和技术实施细节。
AFC系统的基本原理AFC系统主要由以下几部分组成:1.门禁系统:使用RFID或IC卡等识别装置,对进入公共交通站点的乘客进行身份认证和票务验证。
2.闸机系统:控制进出站的通行,确保只有通过认证的乘客可以进入车站。
3.票务处理系统:负责对乘客购票、充值和退票等操作进行处理,并与闸机系统进行联动。
4.交易系统:负责处理乘客的支付操作,与票务处理系统和银行进行数据交互。
5.后台管理系统:用于管理和监控AFC系统,包括统计乘客流量、调度车站设备、处理异常情况等。
AFC系统的优势AFC系统相较于传统的纸质车票方式有以下几个优势:1.方便快捷:乘客只需要刷卡即可进出车站,无需排队购票,大大缩短了候车时间。
2.提高效率:自动扣费和自动验证可以减少人力投入,提高运营效率。
3.资金安全:电子支付方式更加安全可靠,减少了现金操作带来的风险。
4.数据统计:AFC系统可以实时记录乘客流量和趋势,提供数据支持给公交公司进行调度和规划。
5.环保节能:减少纸质车票的使用,降低了资源消耗和环境污染。
AFC方案的关键技术AFC系统的实施需要依靠以下关键技术:1.RFID技术:用于乘客身份认证和票务验证,通过射频信号进行数据传递。
2.IC卡技术:作为乘客的身份识别和票务存储介质,存储各种票务信息,并与闸机系统进行联动。
3.支付系统:与银行进行数据交互,实现乘客支付、充值和退款等功能。
4.数据传输和存储技术:保证AFC系统各个组成部分之间的数据传输和存储的可靠性和安全性。
5.后台管理系统:通过数据分析和处理,进行统计、监控和管理AFC系统的运行状态。
AFC方案的实施步骤实施AFC方案的步骤如下:1.需求分析:明确需要实施AFC系统的具体需求和目标,包括乘客的识别方式、票务类型、支付方式等。
轨道交通自动售检票系统(AFC)系统1. 简介轨道交通自动售检票系统(Automatic Fare Collection System,简称AFC系统)是现代化城市轨道交通的重要组成部分之一。
它是通过集成电子技术和智能化设备,实现自动售票、自动检票和自动计费等功能的一种先进的交通管理系统。
本文将对AFC系统进行详细介绍。
2. AFC系统的组成AFC系统由多个组件组成,包括:自动售票机、自动检票闸机、计费系统和中央控制系统。
2.1 自动售票机自动售票机是AFC系统的重要组件之一。
乘客可以通过自动售票机购买车票并完成支付。
自动售票机通常采用触摸屏、二维码扫描器等设备,用户可以通过触摸屏操作界面选择目的地并支付相应费用。
2.2 自动检票闸机自动检票闸机是AFC系统中的核心设备之一。
乘客需要刷票或扫描二维码通过闸机,系统会自动检查车票的有效性。
如果车票有效,闸机会打开并允许乘客通过,否则闸机会保持关闭状态并提示错误信息。
2.3 计费系统计费系统是AFC系统的重要组成部分之一。
它负责根据乘客的出行距离和票价规则计算费用。
计费系统通常集成在后台服务器中,能够实时监控乘客的乘车情况,并计算乘车费用。
2.4 中央控制系统中央控制系统是AFC系统的核心组成部分。
它负责监控和管理各个子系统的运行状态,实时更新车票信息和票务数据。
中央控制系统还可以与其他系统进行数据交换和信息共享。
3. AFC系统的工作流程AFC系统的工作流程主要包括以下几个步骤:1.乘客到达车站,前往自动售票机购买车票。
2.乘客选择目的地并支付相应费用。
3.自动售票机生成电子车票或打印纸质车票。
4.乘客刷票或扫描二维码通过自动检票闸机。
5.系统自动检查车票的有效性。
6.如果车票有效,闸机打开,乘客通过。
7.计费系统根据乘客的出行距离和票价规则计算费用。
8.系统实时更新车票信息和票务数据。
4. AFC系统的优势AFC系统具有以下优势:•提高乘客出行的便利性和效率:乘客可以通过自动售票机快速购买车票,并通过自动检票闸机快速通行,减少排队时间和拥堵。
基于屏幕捕获技术的自动售检票退票分析系统陈超;徐晔;李丽芬【摘要】为了解决南京地铁AFC(自动售检票)系统需要人工退票的缺陷,提高工作效率,提出并实现了一种基于屏幕捕获算法的退票分析系统,分析了其算法的系统流程、数据流以及算法时间复杂度.通过实际使用测算,使用该系统退票分析效率可提高88%,误差率几乎为0,大大提高了工作效率.【期刊名称】《城市轨道交通研究》【年(卷),期】2016(019)008【总页数】3页(P98-100)【关键词】地铁;自动售检票系统;退票分析系统;屏幕捕获技术【作者】陈超;徐晔;李丽芬【作者单位】南京地铁运营有限责任公司票务中心,210012,南京;南京地铁运营有限责任公司票务中心,210012,南京;南京地铁运营有限责任公司票务中心,210012,南京【正文语种】中文【中图分类】U293.2+21Author′s address Ticket Clerk Center of Nanjing Metro OperationCo.,Ltd.,210012,Nanjing,China自动售检票(AFC)系统是实现城市轨道交通售票、检票、计费、收费、统计、清分、管理等全过程自动化的票务管理系统。
国外经济发达城市的轨道交通已普遍采用了这种管理系统,并发展到相当先进的技术水平。
国内城市轨道交通AFC系统的发展经历了从无到有的过程,已逐步实现与城市一卡通,甚至城市间一卡通接轨。
南京市地铁自开通之日起就使用了AFC系统,不仅方便了乘客,也节约了成本。
乘客使用自动售票机购票,在自动检票机上刷卡进出站。
由于设计之初,AFC系统没有退票功能,当遇到乘客多购票,或未赶上末班车等需要退票的情况时,就需进行人工退票。
退票每日随报表上交收益审核中心,需要工作人员对每张退票进行分析并人工登记,既耗时耗力,误差率也高。
本文基于屏幕捕获技术开发了自动退票分析系统,代替人工录入,提高了工作效率。
1.1 系统总体架构基于屏幕捕获技术的退票分析系统总体架构如图1所示。
站务员:值站值班员(初级)试题1、单选闸机末端显示器的缩写是:()。
A、GEDB、PIDC、EMMD、UPS正确答案:A2、判断题TVM用于在付费区和非付费区之间控制人流。
()正确答案:错3、判断(江南博哥)题AFC系统不是个独立的系统,它连接到外部银行或其它运营商。
()正确答案:错4、填空题车站每日回收单程票须按照TVM废票、()、POST产生废票、乘客事物处理废票、()、()分类统计,将数据填记在每天上报的《车站报表上交明细表》。
正确答案:GATE废票;废票箱废票;人工边门回收票5、填空题南京市离休干部,凭《()》免费乘坐地铁。
正确答案:南京市离休干部乘车证6、填空题因本人原因在付费区内(),按全程票价补购出站票在()出站。
正确答案:遗失车票;本站7、填空题纸币钱箱和硬币钱箱需()。
正确答案:分开并逐一清点8、填空题运营分公司站务中心负责做好车站边门的()和()。
正确答案:日常管理;内部检查9、填空题纸票售卖后,当班客运值班员须填写《()》、《()》、《()》的相关内容,并将报表和票务专用信封于次日一同上交给票务中心收益组人员。
正确答案:车站票据登记簿;车站收入日报表;站车票库存日报10、判断题车站现金必须存放在有人或有监控状态的区域内,如售票/问询处、票务室等。
()正确答案:错11、填空题如敬老卡因上次乘车()时车票未在闸机上刷卡或刷卡不成功,或车票()等原因无法正常刷卡,乘客可持卡到车站售票/问询处(),进行()处理。
正确答案:进、出闸机;超时;分析车票;免费更新12、填空题点钞室内处理完毕的现金,客运值班员应立即放入()中。
正确答案:上锁的保险柜13、填空题南京地铁有两种非接触式票卡可用,分别是()和()。
正确答案:CSC;CST14、判断题SC车站视图界面中的客流信息窗口,显示每天的总进出人数和最近15小时的进出人数。
()正确答案:错15、填空题单程票当站当日有效,隔日作废并()。
任何人购买()不享受优惠。
我国轨道交通AFC系统发展介绍在地铁各专业系统中,AFC系统扮演着十分重要的角色,它不但为乘客提供自动售票和自动检票服务,也为轨道交通运营公司的科学管理提供可靠的数据。
它是现代轨道交通先进性的重要体现。
在通常意义上,AFC是英文Automatic Fare Collection的简称,即自动售检票。
许多人可能认为自动售检票系统仅仅是售票和检票,仅仅是进站和出站,从严格意义上来说,自动售检票系统(AFC)是基于计算机、通信、网络、自动控制等技术,实现轨道交通售票、检票、计费、收费、统计、清分、管理等过程的自动化系统。
国外经济发达城市的轨道交通,已普遍采用了这种管理系统,并发展到相当高的技术水平。
我国城市轨道交通自动售检票系统和设备,最初是从美国引进的,近年来我国已进行了大量的开发和研制工作,提供了多种形式的产品,技术水平也在不断提高。
国内轨道交通AFC系统的发展经历了从无到有的过程,随着计算机技术和软件的发展,我国城市轨道交通AFC系统和技术已与城市公共交通“一卡通” 接轨,实现城市甚至城市区间的“一卡通”。
从投资费用角度来讲,AFC系统的经费仅占据轨道交通投资中的很小一部分,但它又是和乘客每天见面、每天打交道的一个重要的服务窗,更重要的是,它不但掌管着轨道交通运营的经济命脉——票务收入,而且掌握着轨道交通线路各车站的每天客流量和完整的客流动态信息。
因此,AFC系统可以为轨道交通的运营、管理和决策提供大量的科学数据和依据。
如果数据或报表存在错误,那将给轨道交通的管理带来严重的问题。
公共交通行业是“以人为本” ,为人民大众服务的行业,安全、可靠、方便和实用是考虑问题的基本出发点。
因此,对AFC系统来说,可靠性和成熟性是第一位的。
轨道交通的网络化运营,对AFC系统提出了更高更严格的要求。
现在我国在AFC系统运营和管理上,主要面临着四大顽症:数据报表不准、系统和设备可靠性不高(包括设备故障率高)、读卡器反应速度慢和车票流失率大(包括车票质量等问题)。
南京地铁怎么买票
南京地铁购票方式有多种选择。
以下是一些购票方法:
1. 自动售票机:在地铁站内,你可以找到自动售票机。
这些机器通常提供多种语言选择,包括英语。
你可以按照屏幕上的指示选择你要去的目的地,并选择票价类型(如单程票、储值卡等)。
然后,你可以使用现金或银行卡支付购票费用。
2. 手机购票:南京地铁也提供了手机购票的选项。
你可以下载南京地铁官方的手机应用程序,注册并登录账户。
通过应用程序,你可以选择目的地和票价类型,并使用支付宝、微信支付等电子支付方式购买车票。
3. 售票窗口:如果你不熟悉自动售票机或手机购票,你也可以前往地铁站的售票窗口。
在售票窗口,你可以向工作人员说明你的目的地和票价类型,并支付购票费用。
无论你选择哪种购票方式,记得在进入地铁站前持有有效的车票或乘车卡。
购票后,你可以通过闸机进入地铁站台,然后按照指示搭乘地铁列车。
祝你旅途愉快!。
城市轨道交通afc的名词解释城市轨道交通(Urban Rail Transit)是指城市中用于运输乘客的轨道交通系统,包括地铁、轻轨、有轨电车等。
随着城市化进程的快速发展,城市轨道交通在解决交通拥堵、提高出行效率、改善城市环境等方面发挥着重要作用。
而AFC,即自动售票系统(Automatic Fare Collection),在城市轨道交通中起着关键的角色。
本文将对城市轨道交通AFC进行详细解释。
一、什么是AFCAFC是城市轨道交通系统中的一项技术,旨在实现自动化的车票销售和乘客进出站管理。
它通过各种自动设备,如售票机、进站闸机和检票机等,来实现乘客的非现金支付、刷卡出入站以及乘坐票价计费等功能。
AFC技术的引入有效地解决了传统售票方式带来的票务难题,提高了运营效率,同时也提升了乘客出行的便利度。
二、AFC的工作原理AFC系统依赖于一种被称为智能卡的媒介,也称为交通卡、刷卡或者一卡通。
乘客只需购买一张智能卡并将其充值,就可以随意乘坐城市轨道交通。
当乘客进入车站时,需要将智能卡放在进站闸机上感应区域,闸机会自动读取卡内信息,验证卡内余额是否足够乘坐当前行程。
如果余额充足,闸机会打开,乘客可以顺利通过。
当乘客离开车站时,同样需要刷卡进行出站操作。
AFC系统会根据进出站数据,自动计算并扣除相应的票价,完成乘车费用的结算。
三、AFC的优势1. 方便快捷:AFC系统免去了人工售票的繁琐过程,乘客只需要一张智能卡即可实现快速、便捷的进出站操作,节省了时间和精力。
2. 提升效率:AFC系统的自动化管理能力大大提高了运营效率。
通过实时监测乘客流量,系统可以根据不同时间段的需求,调整列车运行频率,避免运力浪费和不必要的拥堵。
3. 数据统计分析:AFC系统能够准确记录每一位乘客的出行数据,包括进出站时间、路线选择等。
运营方可以通过这些数据进行分析,优化线路设置、车站布局以及列车运营计划,更好地满足乘客需求。
4. 防止逃票和欺诈:AFC系统能够有效防止乘客逃票和欺诈行为的发生。
本文简单介绍了国家标准《城市轨道交通自动售检票系统技术条件》的编制背景,对标准的主要内容进行了说明。
关键词:AFC系统技术条件国家标准一、编制背景1·国标编制任务来源根据建设部建标标函[2003]33号文的通知,国家标准化管理委员会以国标委[2003]37号文《2003年制修订国家标准项目计划》下达了《城市轨道交通自动售检票系统》国标编制任务。
并依据与建设部标准主管部门签订的合同,由城市建设研究院承担此项标准的主编任务,在2005年内完成标准的编制工作。
南京熊猫信息产业有限公司为该标准参编单位之一.该标准为我国首次制订的AFC国家标准。
2·编制目的自动售检票系统(AFC)是基于计算机、通信、网络、自动控制等技术,实现轨道交通售票、检票、计费、收费、统计、清分、管理等全过程的自动化系统。
国外经济发达城市的轨道交通,己普遍采用了这种管理系统,并发展到相当先进的技术水平。
我国城市轨道交通车站的自动售检票设备,最初是来自外国,近年来我国已进行了大量的开发研制工作,提出了多种形式的产品,技术水平也在不断提高。
国内轨道交通AFC系统的发展经历了从无到有的过程,随着计算机技术和软件的发展,我国城市轨道交通AFC的技术已与城市一卡通接轨,实现城市甚至城市区间的一卡通。
首先介绍一下我国各地地铁系统发展和大致情况。
香港八达通香港的八达通系统于1997年9月投入运行,它采用SONY公司的第一代FELICA卡,由澳大利亚ERG公司负责系统集成,系统除涵盖公共汽车、轮渡、轻轨、地铁等运输行业外,目前已经扩展到停车场、游泳池、美心快餐、七十一便利店等地方的小额消费。
至2001年4月止发卡量达720万张,每天的交易量达500多万笔,交易金额也高达4000多万港币。
广州地铁广州地铁一号线和二号线AFC系统于1998年中首期五个站投入使用,并于1999年初全线投入使用。
从使用的情况来看,该系统采用非接触IC卡技术,系统数据交易和传输准确,使广州地铁的收费和检票真正实现了数据化和自动化。
#include<windows.h>#include<iostream>using namespace std;#include<string.h>#include<math.h>HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);char start[80],end[80];//保存当前站点和目的站点的数组int GetCurX(){int curX;HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_SCREEN_BUFFER_INFO bInfo;GetConsoleScreenBufferInfo(hout,&bInfo);curX=bInfo.dwCursorPosition.X;return curX;}int GetCurY(){int curY;HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_SCREEN_BUFFER_INFO bInfo;GetConsoleScreenBufferInfo(hout,&bInfo);curY=bInfo.dwCursorPosition.Y;return curY;}void GotoXY(int x,int y){HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);COORD pos;pos.X=x;pos.Y=y;SetConsoleCursorPosition(hout,pos);}void Move(){HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);HANDLE hin=GetStdHandle(STD_INPUT_HANDLE);INPUT_RECORD mouseRec;DWORD res;for(;;){ReadConsoleInput(hin,&mouseRec,1,&res);SetConsoleCursorPosition(hout,mouseRec.Event.MouseEvent.dwMousePosition);if(mouseRec.Event.MouseEvent.dwEventFlags==0){if(mouseRec.Event.MouseEvent.dwButtonState==0){break;}}}}void draw_picture(){SetConsoleTextAttribute(hout,0x0E);//亮黄色GotoXY(0,0);cout<<"〖南京地铁运营线路图〗";//画一号线路图,包括南延线SetConsoleTextAttribute(hout,0x0A);//亮绿色GotoXY(35,33);cout<<"南京地铁一号线";GotoXY(40,1);cout<<"⊙奥体中心";GotoXY(40,2);cout<<"┃";SetConsoleTextAttribute(hout,0xE9);GotoXY(40,3);cout<<"●元通";SetConsoleTextAttribute(hout,0x0A);GotoXY(40,4);cout<<"┃";GotoXY(40,5);cout<<"⊙中胜";GotoXY(40,6);cout<<"┃";GotoXY(40,7);cout<<"⊙小行";GotoXY(40,8);cout<<"┃";SetConsoleTextAttribute(hout,0xB9);GotoXY(40,9);cout<<"◆安德门";SetConsoleTextAttribute(hout,0x0A);GotoXY(40,10);cout<<"┃";GotoXY(40,11);cout<<"⊙中华门";GotoXY(40,12);cout<<"┃";GotoXY(40,13);cout<<"⊙三山街";GotoXY(40,14);cout<<"┃";GotoXY(40,15);cout<<"⊙张府园";GotoXY(40,16);cout<<"┃";SetConsoleTextAttribute(hout,0xE9);GotoXY(40,17);cout<<"●新街口";SetConsoleTextAttribute(hout,0x0A);GotoXY(40,18);cout<<"┃";GotoXY(40,19);cout<<"⊙珠江路";GotoXY(40,20);cout<<"┃";GotoXY(40,21);cout<<"⊙鼓楼";GotoXY(40,22);cout<<"┃";GotoXY(40,23);cout<<"⊙玄武门";GotoXY(40,24);cout<<"┃";GotoXY(40,25);cout<<"⊙新模范马路";GotoXY(40,26);cout<<"┃";GotoXY(40,27);cout<<"⊙南京站";GotoXY(40,28);cout<<"┃";GotoXY(40,29);cout<<"⊙红山动物园";GotoXY(40,30);cout<<"┃";GotoXY(40,31);cout<<"⊙迈皋桥";/*南延线*/GotoXY(3,8);cout<<"南京地铁一号线南延线";GotoXY(2,9);cout<<"┏━━━━━━━━━━━━━━━━━━"; GotoXY(2,10);cout<<"⊙天隆寺";GotoXY(2,11);cout<<"┃";GotoXY(2,12);cout<<"⊙软件大道";GotoXY(2,13);cout<<"┃";GotoXY(2,14);cout<<"⊙花神庙";GotoXY(2,15);cout<<"┃";GotoXY(2,16);cout<<"⊙南京南站";GotoXY(2,17);cout<<"┃";GotoXY(2,18);cout<<"⊙双龙大道";GotoXY(2,19);cout<<"┃";GotoXY(2,20);cout<<"⊙河定桥";GotoXY(2,21);cout<<"┃";GotoXY(2,22);cout<<"⊙胜太路";GotoXY(2,23);cout<<"┃";GotoXY(2,24);cout<<"⊙百家湖";GotoXY(2,25);cout<<"┃";GotoXY(2,26);cout<<"⊙小龙湾";GotoXY(2,27);cout<<"┃";GotoXY(2,28);cout<<"⊙竹山路";GotoXY(2,29);cout<<"┃";GotoXY(2,30);cout<<"⊙天印大道";GotoXY(2,31);cout<<"┃";GotoXY(2,32);cout<<"⊙龙眠大道";GotoXY(2,33);cout<<"┃";GotoXY(2,34);cout<<"⊙南医大";GotoXY(2,35);cout<<"┃";GotoXY(2,36);cout<<"⊙南京交院";GotoXY(2,37);cout<<"┃";GotoXY(2,38);cout<<"⊙中国药科大学";//画二号线路图SetConsoleTextAttribute(hout,0x0C);//亮红色GotoXY(60,1);cout<<"南京地铁二号线"; GotoXY(38,3);cout<<"━";GotoXY(28,3);cout<<"⊙雨润大街";GotoXY(26,3);cout<<"━";GotoXY(18,3);cout<<"⊙油坊桥";GotoXY(46,3);cout<<"━━━━━━━"; GotoXY(60,3);cout<<"┓";GotoXY(60,4);cout<<"⊙奥体东";GotoXY(60,5);cout<<"┃";GotoXY(60,6);cout<<"⊙兴隆大街";GotoXY(60,7);cout<<"┃";GotoXY(60,8);cout<<"⊙集庆门大桥";GotoXY(60,9);cout<<"┃";GotoXY(60,10);cout<<"⊙云锦路";GotoXY(60,11);cout<<"┃";GotoXY(60,12);cout<<"⊙莫愁湖";GotoXY(60,13);cout<<"┃";GotoXY(60,14);cout<<"⊙汉中门";GotoXY(60,15);cout<<"┃";GotoXY(60,16);cout<<"⊙上海路";GotoXY(48,17);cout<<"━━━━━━┛"; GotoXY(20,17);cout<<"┏━━━━━━━━━";GotoXY(20,18);cout<<"⊙大行宫";GotoXY(20,19);cout<<"┃";GotoXY(20,20);cout<<"⊙西安门";GotoXY(20,21);cout<<"┃";GotoXY(20,22);cout<<"⊙明故宫";GotoXY(20,23);cout<<"┃";GotoXY(20,24);cout<<"⊙苜蓿园";GotoXY(20,25);cout<<"┃";GotoXY(20,26);cout<<"⊙下马坊";GotoXY(20,27);cout<<"┃";GotoXY(20,28);cout<<"⊙孝陵卫";GotoXY(20,29);cout<<"┃";GotoXY(20,30);cout<<"⊙钟灵街";GotoXY(20,31);cout<<"┃";GotoXY(20,32);cout<<"⊙马群";GotoXY(20,33);cout<<"┃";GotoXY(20,34);cout<<"⊙金马路";GotoXY(20,35);cout<<"┃";GotoXY(20,36);cout<<"⊙仙鹤门";GotoXY(20,37);cout<<"┃";GotoXY(20,38);cout<<"⊙学则路";GotoXY(20,39);cout<<"┃";GotoXY(20,40);cout<<"⊙仙林中心";GotoXY(30,40);cout<<"━";GotoXY(32,40);cout<<"⊙羊山公园";GotoXY(42,40);cout<<"━";GotoXY(44,40);cout<<"⊙南大仙林校区";GotoXY(58,40);cout<<"━";GotoXY(60,40);cout<<"⊙经天路";SetConsoleTextAttribute(hout,15);GotoXY(90,4);cout<<"注意:1~8站:2元9~12站:3元12站以上:4元";GotoXY(90,6);cout<<"当前站名:";GotoXY(90,8);cout<<"目的站名:";GotoXY(90,10);cout<<"请点击下面选择购票张数:";SetConsoleTextAttribute(hout,0xDF);GotoXY(90,12);cout<<"1 2 3 4 5";SetConsoleTextAttribute(hout,15);GotoXY(90,16);cout<<"请开始投币!";GotoXY(90,18);cout<<"请点击下面选择面值:";SetConsoleTextAttribute(hout,0xDF);GotoXY(90,20);cout<<"1元,5元,10元,20元";SetConsoleTextAttribute(hout,15);GotoXY(90,24);cout<<"应付款数:";GotoXY(90,26);cout<<"已付款数:";GotoXY(90,28);cout<<"找零:";for(int i=2;i<=40;i++){GotoXY(85,i);cout<<"§";}SetConsoleTextAttribute(hout,0x0B);}void main(){char Line1[][16]={"奥体中心","元通","中胜","小行","安德门","中华门","三山街","张府园","新街口","珠江路","鼓楼","玄武门","新模范马路","南京站","红山动物园","迈皋桥"};char Line1_ny[][16]={"安德门","天隆寺","软件大道","花神庙","南京南站","双龙大道","河定桥","胜太路","百家湖","小龙湾","竹山路","天印大道","龙眠大道","南医大","南京交院","中国医科大学"};char Line2[][26]={"油坊桥","雨润大桥","元通","奥体东","兴隆大桥","集庆门大桥","云锦路","莫愁湖","汉中门","上海路","新街口","大行宫","西安门","明故宫","苜蓿园","下马坊","孝陵卫","钟灵街","马群","金马路","仙鹤门","学则路","仙林中心","羊山公园","南大仙林校区","经天路"};int m,n,number_cur,number_des,s;//mumber_cur代表当前站点在数组中的号码,number_des代表目的站点在数组中的序号int a,money,money_in=0,mianzhi;//a代表站点数void Cur_Station();//当前站点void Des_Station();//目地站点draw_picture();while(1)//选择当前站点和目的站点{Move();Cur_Station();Move();Des_Station();break;}while(1){Move();//选择购票数if(GetCurX()==90 && GetCurY()==12){GotoXY(111,10);cout<<"1";s=1;}if(GetCurX()==92 && GetCurY()==12){GotoXY(111,10);cout<<"2";s=2;}if(GetCurX()==94 && GetCurY()==12){GotoXY(111,10);cout<<"3";s=3;}if(GetCurX()==96 && GetCurY()==12){GotoXY(111,10);cout<<"4";s=4;}if(GetCurX()==98 && GetCurY()==12){GotoXY(111,10);cout<<"5";s=5;}for(int i=0;i<=25;i++){if(strcmp(Line2[i],start)==0)number_cur=i,m=0;else{for(int j=0;j<=15;j++)if(strcmp(Line1[j],start)==0) number_cur=j,m=1;else{for(int l=0;l<=15;l++)if(strcmp(Line1_ny[l],start)==0)number_cur=l,m=2;}}}for(i=0;i<=25;i++){if(strcmp(Line2[i],end)==0)number_des=i,n=0;else{for(int j=0;j<=15;j++)if(strcmp(Line1[j],end)==0)number_des=j,n=1;else{for(int l=0;l<=15;l++)if(strcmp(Line1_ny[l],end)==0)number_des=l,n=2;}}}//计算站点数if(m==n)a=fabs(number_cur-number_des);else{if(m==0&&n==1)a=fabs(number_cur-2)+fabs(number_des-1)<=fabs(number_cur-10)+fabs(number_des-8)?fabs(n umber_cur-2)+fabs(number_des-1):fabs(number_cur-10)+fabs(number_des-8);if(m==0&&n==2)a=number_des+3+fabs(number_cur-2)<=number_des+4+fabs(number_cur-10)?number_des+3+f abs(number_cur-2):number_des+4+fabs(number_cur-10);if(m==1&&n==0)a=fabs(number_des-2)+fabs(number_cur-1)<=fabs(number_des-10)+fabs(number_cur-8)?fabs(n umber_des-2)+fabs(number_cur-1):fabs(number_des-10)+fabs(number_cur-8);if(m==1&&n==2)a=fabs(number_cur-4)+number_des;if(m==2&&n==0)a=number_cur+3+fabs(number_des-2)<=number_cur+4+fabs(number_des-10)?number_cur+3+f abs(number_des-2):number_cur+4+fabs(number_des-10);if(m==2&&n==1)a=fabs(number_des-4)+number_cur;}if(a>=1 && a<=8)money=2*s;if(a>=9 && a<=12)money=3*s;if(a>=13)money=4*s;GotoXY(99,24);cout<<money;//输出应付款数break;}while(1)//付款,找零{Move();if(GetCurX()>=90 && GetCurX()<=92 && GetCurY()==20){GotoXY(109,18);cout<<"1元";mianzhi=1;}if(GetCurX()>=94 && GetCurX()<=96 && GetCurY()==20){GotoXY(109,18);cout<<"5元";mianzhi=5;}if(GetCurX()>=98 && GetCurX()<=101 && GetCurY()==20){GotoXY(109,18);cout<<"10元";mianzhi=10;}if(GetCurX()>=103 && GetCurX()<=106 && GetCurY()==20){GotoXY(109,18);cout<<"20元";mianzhi=20;}money_in=money_in+mianzhi;if(money_in<money){GotoXY(99,26);cout<<money_in;}else{GotoXY(99,26);cout<<money_in;GotoXY(95,28);cout<<money_in-money;GotoXY(95,34);cout<<"欢迎下次乘坐南京地铁,祝您一路平安!";}}}void Cur_Station()//当前站点{//一号线站点if(GetCurX()>=40 && GetCurX()<=49 && GetCurY()==1){GotoXY(99,6); cout<<"奥体中心"; strcpy(start,"奥体中心");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==3){GotoXY(99,6); cout<<"元通"; strcpy(start,"元通");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==5){GotoXY(99,6); cout<<"中胜";strcpy(start,"中胜");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==7){GotoXY(99,6); cout<<"小行";strcpy(start,"小行");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==9){GotoXY(99,6); cout<<"安德门";strcpy(start,"安德门");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==11){GotoXY(99,6); cout<<"中华门";strcpy(start,"中华门");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==13){GotoXY(99,6); cout<<"三山街";strcpy(start,"三山街");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==15){GotoXY(99,6); cout<<"张府园";strcpy(start,"张府园");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==17){GotoXY(99,6); cout<<"新街口";strcpy(start,"新街口");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==19){GotoXY(99,6); cout<<"珠江路";strcpy(start,"珠江路");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==21){GotoXY(99,6); cout<<"鼓楼";strcpy(start,"鼓楼");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==23){GotoXY(99,6); cout<<"玄武门";strcpy(start,"玄武门");}if(GetCurX()>=40 && GetCurX()<=51 && GetCurY()==25){GotoXY(99,6); cout<<"新模范马路";strcpy(start,"新模范马路");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==27){GotoXY(99,6); cout<<"南京站";strcpy(start,"南京站");}if(GetCurX()>=40 && GetCurX()<=51 && GetCurY()==29){GotoXY(99,6); cout<<"红山动物园";strcpy(start,"红山动物园");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==31){GotoXY(99,6); cout<<"迈皋桥";strcpy(start,"迈皋桥");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==10){GotoXY(99,6); cout<<"天隆寺";strcpy(start,"天隆寺");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==12){GotoXY(99,6); cout<<"软件大道";strcpy(start,"软件大道");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==14){GotoXY(99,6); cout<<"花神庙";strcpy(start,"花神庙");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==16){GotoXY(99,6); cout<<"南京南站";strcpy(start,"南京南站");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==18){GotoXY(99,6); cout<<"双龙大道";strcpy(start,"双龙大道");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==20){GotoXY(99,6); cout<<"河定桥";strcpy(start,"河定桥");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==22){GotoXY(99,6); cout<<"胜太路";strcpy(start,"胜太路");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==24){GotoXY(99,6); cout<<"百家湖";strcpy(start,"百家湖");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==26){GotoXY(99,6); cout<<"小龙湾";strcpy(start,"小龙湾");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==28){GotoXY(99,6); cout<<"竹山路";strcpy(start,"竹山路");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==30){GotoXY(99,6); cout<<"天印大道";strcpy(start,"天印大道");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==32){GotoXY(99,6); cout<<"龙眠大道";strcpy(start,"龙眠大道");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==34){GotoXY(99,6); cout<<"南医大";strcpy(start,"南医大");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==36){GotoXY(99,6); cout<<"南京交院";strcpy(start,"南京交院");}if(GetCurX()>=2 && GetCurX()<=15 && GetCurY()==38){GotoXY(99,6); cout<<"中国药科大学";strcpy(start,"中国药科大学");}//二号线站点if(GetCurX()>=28 && GetCurX()<=37 && GetCurY()==3){GotoXY(99,6); cout<<"雨润大街";strcpy(start,"雨润大街");}if(GetCurX()>=18 && GetCurX()<=25 && GetCurY()==3){GotoXY(99,6); cout<<"油坊桥";strcpy(start,"油坊桥");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==4){GotoXY(99,6); cout<<"奥体东";strcpy(start,"奥体东");}if(GetCurX()>=60 && GetCurX()<=69 && GetCurY()==6){GotoXY(99,6); cout<<"兴隆大街";strcpy(start,"兴隆大街");}if(GetCurX()>=60 && GetCurX()<=71 && GetCurY()==8){GotoXY(99,6); cout<<"集庆门大桥";strcpy(start,"集庆门大桥");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==10){GotoXY(99,6); cout<<"云锦路";strcpy(start,"云锦路");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==12){GotoXY(99,6); cout<<"莫愁湖";strcpy(start,"莫愁湖");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==14){GotoXY(99,6); cout<<"汉中门";strcpy(start,"汉中门");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==16){GotoXY(99,6); cout<<"上海路";strcpy(start,"上海路");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==18){GotoXY(99,6); cout<<"大行宫";strcpy(start,"大行宫");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==20){GotoXY(99,6); cout<<"西安门";strcpy(start,"西安门");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==22){GotoXY(99,6); cout<<"明故宫";strcpy(start,"明故宫");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==24){GotoXY(99,6); cout<<"苜蓿园";strcpy(start,"苜蓿园");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==26){GotoXY(99,6); cout<<"下马坊";strcpy(start,"下马坊");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==28){GotoXY(99,6); cout<<"孝陵卫";strcpy(start,"孝陵卫");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==30){GotoXY(99,6); cout<<"钟灵街";strcpy(start,"钟灵街");}if(GetCurX()>=20 && GetCurX()<=25 && GetCurY()==32){GotoXY(99,6); cout<<"马群";strcpy(start,"马群");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==34){GotoXY(99,6); cout<<"金马路";strcpy(start,"金马路");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==36){GotoXY(99,6); cout<<"仙鹤门";strcpy(start,"仙鹤门");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==38){GotoXY(99,6); cout<<"学则路";strcpy(start,"学则路");}if(GetCurX()>=20 && GetCurX()<=29 && GetCurY()==40){GotoXY(99,6); cout<<"仙林中心";strcpy(start,"仙林中心");}if(GetCurX()>=32 && GetCurX()<=41 && GetCurY()==40){GotoXY(99,6); cout<<"羊山公园";strcpy(start,"羊山公园");}if(GetCurX()>=44 && GetCurX()<=55 && GetCurY()==40){GotoXY(99,6); cout<<"南大仙林校区";strcpy(start,"南大仙林校区");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==40){GotoXY(99,6); cout<<"经天路";strcpy(start,"经天路");}}void Des_Station()//目地站点{//一号线站点if(GetCurX()>=40 && GetCurX()<=49 && GetCurY()==1){GotoXY(99,8); cout<<"奥体中心";strcpy(end,"奥体中心");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==3){GotoXY(99,8); cout<<"元通";strcpy(end,"元通");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==5){GotoXY(99,8); cout<<"中胜";strcpy(end,"中胜");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==7){GotoXY(99,8); cout<<"小行";strcpy(end,"小行");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==9){GotoXY(99,8); cout<<"安德门";strcpy(end,"安德门");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==11){GotoXY(99,8); cout<<"中华门";strcpy(end,"中华门");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==13){GotoXY(99,8); cout<<"三山街";strcpy(end,"三山街");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==15){GotoXY(99,8); cout<<"张府园";strcpy(end,"张府园");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==17){GotoXY(99,8); cout<<"新街口";strcpy(end,"新街口");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==19){GotoXY(99,8); cout<<"珠江路";strcpy(end,"珠江路");}if(GetCurX()>=40 && GetCurX()<=45 && GetCurY()==21){GotoXY(99,8); cout<<"鼓楼";strcpy(end,"鼓楼");}";strcpy(end,"玄武门");}if(GetCurX()>=40 && GetCurX()<=51 && GetCurY()==25){GotoXY(99,8); cout<<"新模范马路";strcpy(end,"新模范马路");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==27){GotoXY(99,8); cout<<"南京站";strcpy(end,"南京站");}if(GetCurX()>=40 && GetCurX()<=51 && GetCurY()==29){GotoXY(99,8); cout<<"红山动物园";strcpy(end,"红山动物园");}if(GetCurX()>=40 && GetCurX()<=47 && GetCurY()==31){GotoXY(99,8); cout<<"迈皋桥";strcpy(end,"迈皋桥");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==10){GotoXY(99,8); cout<<"天隆寺";strcpy(end,"天隆寺");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==12){GotoXY(99,8); cout<<"软件大道";strcpy(end,"软件大道");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==14){GotoXY(99,8); cout<<"花神庙";strcpy(end,"花神庙");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==16){GotoXY(99,8); cout<<"南京南站";strcpy(end,"南京南站");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==18){GotoXY(99,8); cout<<"双龙大道";strcpy(end,"双龙大道");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==20){GotoXY(99,8); cout<<"河定桥";strcpy(end,"河定桥");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==22){GotoXY(99,8); cout<<"胜太路";strcpy(end,"胜太路");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==24){GotoXY(99,8); cout<<"百家湖";strcpy(end,"百家湖");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==26){GotoXY(99,8); cout<<"小龙湾";strcpy(end,"小龙湾");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==28){GotoXY(99,8); cout<<"竹山路";strcpy(end,"竹山路");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==30){GotoXY(99,8); cout<<"天印大道";strcpy(end,"天印大道");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==32){GotoXY(99,8); cout<<"龙眠大道";strcpy(end,"龙眠大道");}if(GetCurX()>=2 && GetCurX()<=9 && GetCurY()==34){GotoXY(99,8); cout<<"南医大";strcpy(end,"南医大");}if(GetCurX()>=2 && GetCurX()<=11 && GetCurY()==36){GotoXY(99,8); cout<<"南京交院";strcpy(end,"南京交院");}if(GetCurX()>=2 && GetCurX()<=15 && GetCurY()==38){GotoXY(99,8); cout<<"中国药科大学";strcpy(end,"中国药科大学");}//二号线站点if(GetCurX()>=28 && GetCurX()<=37 && GetCurY()==3){GotoXY(99,8); cout<<"雨润大街";strcpy(end,"雨润大街");}";strcpy(end,"油坊桥");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==4){GotoXY(99,8); cout<<"奥体东";strcpy(end,"奥体东");}if(GetCurX()>=60 && GetCurX()<=69 && GetCurY()==6){GotoXY(99,8); cout<<"兴隆大街";strcpy(end,"兴隆大街");}if(GetCurX()>=60 && GetCurX()<=71 && GetCurY()==8){GotoXY(99,8); cout<<"集庆门大桥";strcpy(end,"集庆门大桥");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==10){GotoXY(99,8); cout<<"云锦路";strcpy(end,"云锦路");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==12){GotoXY(99,8); cout<<"莫愁湖";strcpy(end,"莫愁湖");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==14){GotoXY(99,8); cout<<"汉中门";strcpy(end,"汉中门");}if(GetCurX()>=60 && GetCurX()<=67 && GetCurY()==16){GotoXY(99,8); cout<<"上海路";strcpy(end,"上海路");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==18){GotoXY(99,8); cout<<"大行宫";strcpy(end,"大行宫");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==20){GotoXY(99,8); cout<<"西安门";strcpy(end,"西安门");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==22){GotoXY(99,8); cout<<"明故宫";strcpy(end,"明故宫");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==24){GotoXY(99,8); cout<<"苜蓿园";strcpy(end,"苜蓿园");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==26){GotoXY(99,8); cout<<"下马坊";strcpy(end,"下马坊");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==28){GotoXY(99,8); cout<<"孝陵卫";strcpy(end,"孝陵卫");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==30){GotoXY(99,8); cout<<"钟灵街";strcpy(end,"钟灵街");}if(GetCurX()>=20 && GetCurX()<=25 && GetCurY()==32){GotoXY(99,8); cout<<"马群";strcpy(end,"马群");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==34){GotoXY(99,8); cout<<"金马路";strcpy(end,"金马路");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==36){GotoXY(99,8); cout<<"仙鹤门";strcpy(end,"仙鹤门");}if(GetCurX()>=20 && GetCurX()<=27 && GetCurY()==38){GotoXY(99,8); cout<<"学则路";strcpy(end,"学则路");}if(GetCurX()>=20 && GetCurX()<=29 && GetCurY()==40){GotoXY(99,8); cout<<"仙林中心";strcpy(end,"仙林中心");}if(GetCurX()>=32 && GetCurX()<=41 && GetCurY()==40){GotoXY(99,8); cout<<"羊山公园";strcpy(end,"羊山公园");}if(GetCurX()>=44 && GetCurX()<=55 && GetCurY()==40){GotoXY(99,8); cout<<"南大仙林校。