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

发布时间 2023-09-05 12:38:23作者: bigbeet

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;