资源简介
大二寒假数据结构课程设计,包含源代码和注释,任务和报告文档,手绘图,以及一个演示视频,视频里的编译环境是codeblocks,而vc++和vs2019等一些IDE都可以,不懂的可以私信我,设计公交线路所需的储存结构,站点信息和线路信息都存放在txt文件中,并将文件中的数据读入内存,包括换乘一次的路径算法,最短路径算法。提供用户操作的菜单和界面实现添加、删除、修改公交、站点、线路等信息,并将修改后的信息重新保存回文件。(数据具有关联性)。不懂的可以私信,没有积分的也可以问我要。
代码片段和文件信息
#include
#include
#include
#include
#include
#define None -1
#define ST_FALL -1
#define ST_OK 1
typedef int Status;
int BUS_NUM;
int STATION_NUM;
int ROUTE_NUM;
//函数声明
void LoadMapDate();
int FindBus(char* bus);
int GetBus(char* bus);
int FindStation(char* station);
int GetStation(char* station);
void AddBus(char* buschar* pStartchar* pEnd);
void AddBus_Supplement(int nBus);
int Find_Next_Station(int nBusint nStation);
Status AddRoute(int nBusint nStartint nEndint distance);
int QueryStation(char* pStationchar** buses);
int QueryBus(char* pBuschar** stations);
void ClearVisited();
bool HasPath_Result(char* pStartchar* pEnd);
bool HasPath(int nStartint nEndbool* visited);
bool directPath(char* pStartchar* pEndint* direct_bus);
void Show_directPath(char* pStartchar* pEndint nBus);
void Show_transferPath(char* pStartchar* pEnd);
int load_data();
int modify_data();
int Find_ROUTES_1(int nbusint nstation);
int Find_ROUTES_2(int nbusint nstation);
void delete_ROUTES(int flag);
int ((*ROUTES)[4]);
char* ((*BUSES)[3]);
char** STATIONS;
//定义结构体
//1、定义结构体BUS代表一个公交车线路
typedef struct Bus
{
char* name; //公交线路名
int start; //起点
int end; //终点
int* stations; //公交线路站点索引数组
int station_num;//站点个数
}Bus;
//2、定义结构体STATION代表一个站点
typedef struct Station
{
char* station; //站点名
struct Route* routes; //从该站点出发的所有下行路线的链域
}Station;
//3、定义结构体ROUTE代表公交线路中的一个路段(邻接表结点)
typedef struct Route
{
int station; //指向的站点索引号
int bus; //公交索引号
int distance; //两点之间公路的距离
bool visited; //遍历时的标识符
struct Route* next; //起始站点相同的,下一条下行路线
}Route;
//4、定义结构体BUSMAP存储整个公交地图信息
typedef struct BusMap
{
Bus* buses; //公交线路数组
Station* stations; //站点数组
int station_num; //站点数
int bus_num; //公交线路数
}BusMap;
BusMap g_sMap; //定义全局变量
//步骤三、创建公交线路
void LoadMapDate()
{
//1、加载公交线路信息,将公交线路数组中的信息加载到g_sMap中的公交线路数组中。
g_sMap.bus_num=BUS_NUM;
g_sMap.buses=(Bus*)malloc(sizeof(Bus)*BUS_NUM);
int i;
for(i=0;i {
g_sMap.buses[i].name=BUSES[i][0];
g_sMap.buses[i].start=g_sMap.buses[i].end=None;
g_sMap.buses[i].station_num=None;
}
//2、加载站点信息,将站点数组中的信息加载到g_sMap中的站点数组中。
g_sMap.station_num=STATION_NUM;
g_sMap.stations=(Station*)malloc(sizeof(Station)*STATION_NUM);
int j;
for(j=0;j {
g_sMap.stations[j].station=STATIONS[j]; //初始化站点名
g_sMap.stations[j].routes=NULL; //下行线路暂时设置为空
}
//在LoadMapData函数中实现添加公交线路信息和添加路段信息。
//添加公交线路信息
int m;
for(m=0;m {
AddBus(BUSES[m][0]BUSES[m][1]BUSES[m][2]);
}
//添加路段信息
int n;
for(n=0;n {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 52532 2020-06-02 20:43 公交线路图\bin\Debug\公交线路图.exe
文件 210 2020-06-02 20:09 公交线路图\BUSES.txt
文件 28841 2020-06-02 20:43 公交线路图\main.c
文件 6 2020-06-01 20:10 公交线路图\MAPNUM.txt
..A..H. 14336 2020-05-20 20:14 公交线路图\obj\.vs\obj\v16\.suo
文件 37 2020-05-20 20:13 公交线路图\obj\.vs\ProjectSettings.json
文件 90112 2020-05-20 20:14 公交线路图\obj\.vs\slnx.sqlite
文件 132 2020-05-20 20:14 公交线路图\obj\.vs\VSWorkspaceState.json
文件 28622 2020-06-02 20:43 公交线路图\obj\Debug\main.o
文件 386 2020-06-01 13:43 公交线路图\ROUTES.txt
文件 72 2020-06-02 20:09 公交线路图\STATIONS.txt
文件 1099 2020-04-10 18:22 公交线路图\公交线路图.cbp
文件 152 2020-06-02 20:38 公交线路图\公交线路图.depend
文件 358 2020-06-02 20:57 公交线路图\公交线路图.layout
文件 308652 2020-08-31 12:57 报告.docx
文件 109401 2020-04-07 16:59 手绘图.png
文件 79360 2020-08-31 13:05 数据结构课程设计任务书2020.1.doc
文件 105969497 2020-06-02 20:48 演示视频.mp4
目录 0 2020-06-02 20:57 公交线路图\obj\.vs\obj\v16
目录 0 2020-07-15 12:36 公交线路图\obj\.vs\obj
目录 0 2020-07-15 12:36 公交线路图\bin\Debug
目录 0 2020-07-15 12:36 公交线路图\obj\.vs
目录 0 2020-07-15 12:36 公交线路图\obj\Debug
目录 0 2020-06-02 20:57 公交线路图\bin
目录 0 2020-06-02 20:57 公交线路图\obj
目录 0 2020-07-15 12:36 公交线路图
----------- --------- ---------- ----- ----
106683805 26
- 上一篇:C++ Qt设计模式 第2版(中文版).pdf
- 下一篇:MFC属性表单
相关资源
- [数据结构(C++版)第2版].王红梅.pd
- 新华三C语言笔试题18年两套.rar
- 邓俊辉数据结构C++语言版第3版 + 习题
- C语言进阶_重点、难点与疑点解析-完
- 基于C语言的台球小游戏超详细注释
- Visualc++ 6.0中文稳定破解版
- poj习题及答案
- Pointers on C中文版
- 湖南大学2018数据结构实验报告/代码
- 数据结构C语言版严蔚敏
- 《实用数值计算方法》甄西丰 全部源
- C语言数值算法程序大全(第二版中文
- C语言实现建议的虚拟文件系统
- 数据结构C语言代码实现
- 单片机c语言程序设计实训100例,基于
- 51单片机C语言(350例)Proteus仿真和代
- 手把手教你学51单片机-C语言版 宋雪松
- 数据结构、算法与应用-C++描述超高清
- 嗨翻C语言 pdf
- 二级c语言考试模拟软件
- Win-TCwindows下的C语言编程工具
- C语言课程全套精讲ppt配英文原版教材
- 西科大c语言考试复习提纲
- c语言实现俄罗斯方块
- 严蔚敏数据结构高清第二版pdf(C语言
- 新概念51单片机C语言教程-入门、提高
- 计算机二级C语言包过题库和软件
- C语言数据结构实现电梯模拟
- [亲测-超高清]数据结构与算法分析
- c语言经典三部曲 pdf格式
评论
共有 条评论