首页 > 编程语言 >C/C++地铁线路查询系统[2023-09-05]

C/C++地铁线路查询系统[2023-09-05]

时间:2023-09-05 12:45:34浏览次数:74  
标签:05 09 系统 C++ 查询 线路 地铁 号线 换乘

C/C++地铁线路查询系统[2023-09-05]

地铁线路查询

问题描述:

当一个用户从甲地到乙地时,由于不同需求,就有不同的交通路线,有人希望以最短距离到达,有人希望用最少的换乘次数等。请编写一北京地铁线路查询系统,通过输入起始站、终点站,为用户提供两种或以上决策的交通咨询。

设计要求:

1.提供对地铁线路进行编辑的功能,要求可以添加或删除线路
2.提供多种决策:最短距离,最短时间,最少换乘次数等。
3.中途不考虑等候,拥堵等消耗时间。
4.该系统以人机对话方式进行。用户输入起始站,终点站以及需求原则(需求原则包括最短距离,最短时间,最少换乘次数),系统输出乘车方案:乘几号线,距离,时间,费用,换乘方法等相关信息。

课程设计报告撰写要求:

课程设计报告需要包含以下内容:
1.描述程序使用的所有数据结构,并列出其对应的抽象数据类型。
2.描述程序中所用的算法及其对应的主要思想。
3.尽可能详细地描述整个地铁线路系统的设计与实现的方法及工作的流程。
4.多种决策对应的程序运行的示例。
5.代码源码。

2.建立好无向图之后通过最短路径算法(如Dijkstra算法),如果边的长度用距离表示,可算得最短距离,如果边的长度用所用时间表示可算得最短时间,如果需要寻找最少换乘次数,需要用到图的深度优先遍历的知识。

第三题: 地铁查询服务系统 (难易度3级,2~3人)
要求以南京目前开通了1号线、2号线、3号线、4号线、10号线、S1号线 (机场线)、S3号线 (宁和城际) S6号线 (马群句容线) S7号线 (宁源线) S8号线(宁天线) S9号线 (宁高线) 共11条地铁线为基本样板,充分发挥想象和创意设计出独特且功能性强的地铁查询服务系统,方便对南京地铁路线不熟悉的人们更好地熟悉南京地铁站,同时帮助客户以最快的速度熟悉南京周边地标,为出游带来方便。
地铁查询服务系统可以帮助乘客方便地从起点站寻找路线到终点站,可以有三种模式可供乘客选择: 最小换乘、最短路径、最少站数,乘客通过简单的界面操作就知道自己在地图上路径的起点终点以及路线标识 (路线经过的所有站点、中转站、路程里程数、站数、票价等),为乘客带来了人性化的帮助。系统要提供地铁周边查询服务,站点周边主要宾馆酒店、主要风景区、主要学校医院等信息。

地铁线路查询

问题描述:
当一个用户从甲地到乙地时,由于不同需求,就有不同的交通路线,有人希望以最短时间到达,有人希望用最少的换乘次数等。请编写一北京地铁线路查询系统,通过输入起始站、终点站,为用户提供两种决策的交通咨询。
设计要求:
1.提供对地铁线路进行编辑的功能,要求可以添加或删除线路。
2.提供两种决策:最短时间,最少换乘次数
3.中途换乘站换乘耗时为5分钟,地铁在除始发站外每一站停留1分钟。
4.按照始发站时间、地铁时速及停留时间推算之后各个线路的地铁到站时间.
5.该系统以人机对话方式进行。系统自动获取当前时间,用户输入起始站,终D点站以及需求原则(需求原则包括最短时间,最少换乘次数),系统输出乘车方案:乘几号线,距离,时间,费用,换乘方法等相关信息。

顶点和边的数据结构定义可参考如下形式:

/*顶点属性*/
typedef struct _tVertex {
    char name[256];		/*属性名称*/
    char description[1024];	/*属性描述*/
} Vertex, * pVertex;

/*顶点列表*/
typedef struct _tVertexList {
    int len;		/*表长度*/
    pVertex data;	/*表元素*/
} VertexList, * pVertexList;

/*权值*/
typedef unsigned int WEIGHT, * pWEIGHT;

/*邻接矩阵*/
typedef struct _tAdjacentMatrix {
    int size;		/*矩阵顶点个数*/
    pWEIGHT data;	/*矩阵权值元素*/
} AdjacentMatrix, * pAdjacentMatrix;

标签:05,09,系统,C++,查询,线路,地铁,号线,换乘
From: https://www.cnblogs.com/bigbeet/p/17679310.html

相关文章

  • C/C++《程序设计(上机)》选题[2023-09-05]
    C/C++《程序设计(上机)》选题[2023-09-05]2023-2024-1《程序设计(上机)》授课计划开发工具:TurboC/Visualstudio等等具体要求:用上述系统平台和开发工具完成所分配题目的程序,并撰写报告。一、课程任务概述本课程是学生在学习了C或C++等编程语言之后进行的一次实践性学习,通过......
  • 【C++】 bind examples
    SimpleExample#include<algorithm>#include<vector>#include<iostream>voidprint(std::stringprefix,intnumber){std::cout<<prefix<<"-"<<number<<std::endl;}intmain(intargc,char......
  • Oracle报 ORA-00054资源正忙的解决办法
    只需三步:第一步:selectsession_idfromv$locked_object;第二步:SELECTsid,serial#,username,osuserFROMv$sessionwheresid=967;第三步:ALTERSYSTEMKILLSESSION'967,59523';其他问题:1.查询数据库中的锁select*fromv$lock;select*fromv$lockwhereblock=1;2......
  • 【230905-5】用Canvas上勾画对数曲线:y=log10_x
    【图像】【代码】<!DOCTYPEhtml><htmllang="utf-8"><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><head><title>勾画log10_x</title><styletype="text/css"......
  • 2023-09-05:请用go语言编写。一个图像有n个像素点,存储在一个长度为n的数组arr里, 每个像
    2023-09-05:请用go语言编写。一个图像有n个像素点,存储在一个长度为n的数组arr里,每个像素点的取值范围[0,s]的整数,请你给图像每个像素点值加上一个整数k(可以是负数),像素值会自动截取到[0,s]范围,当像素值<0,会更改为0,当新像素值>s,会更改为s,这样就可以得到新的arr,想让所有像素点的......
  • 【2023-09-03】连岳摘抄
    23:59必须独立生活。如果想保护自己,如果想懂得生存,如果想获得智慧,就必须独立生活!                                                 ——《小鹿斑比》要接受生活中“......
  • 【2023-09-02】连岳摘抄
    23:59人一能之,己百之。人是能之,己千之。果能此道矣,虽愚必明,虽柔必强。                                                 ——《中庸》先纠正,你不平庸。一个男性,让老......
  • 20230522 java.time.Instant
    介绍java.time.Instant类声明@jdk.internal.ValueBasedpublicfinalclassInstantimplementsTemporal,TemporalAdjuster,Comparable<Instant>,Serializable时间线上的一个瞬时点,可以理解成时刻被称为“新纪元”的时间线原点被设置为穿过伦敦格林威治皇家天文台的......
  • 20230528 java.beans.BeanDescriptor
    介绍java.beans.BeanDescriptorpublicclassBeanDescriptorextendsFeatureDescriptorAPI构造器BeanDescriptor(Class<?>beanClass)BeanDescriptor(Class<?>beanClass,Class<?>customizerClass)publicgetBeanClassgetCustomizerClass......
  • 20230523 java.time.Duration
    介绍java.time.Duration类声明@jdk.internal.ValueBasedpublicfinalclassDurationimplementsTemporalAmount,Comparable<Duration>,Serializable两个时刻之间的时间量两个Instant之间的时长是Duration在内部,秒数存储在一个long中(seconds),而纳秒数存......