题目8:全国铁路运输网最佳经由问题 - 图文(2)

2019-05-17 16:59

设计体会与建议: 这次的程序软件基本上运行成功,可以简单的对已经输入的数据进行计算,求全国铁路运输网最佳经由。但是程序较小,功能不全面,只是理论,并未实践。 经过这次课程设计,通过对程序的编制,调试和运行,使我更好的掌握了图基本性质和关于选址问题的解决方法,熟悉了各种调用的数据类型,在调试和运行过程中使我更加的了解和熟悉程序运行的环境,提高了我对程序调试分析的能力和 5

对错误的纠正能力。这次数据结构的程序设计,对于我来说是一个挑战。我对数据结构的学习在程序的设计中也有所体现。课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 在整个课程程序中,我们充分应用和调用各个程序模块,从而实现了此次程序设计的所应该有的功能。在本组看来这就是我们在课程设计是比较成功的,而在这个过程中,让我们感觉收获最大的就是我们都能利用这次课程设计学到很多我们在课本上没有的知识,充分的发挥了我们的主动性,使我们自主的去学习。

6

附录:

#include #include #include #include #include #include #include

#define MAX_V_NUM 100 #define MAX 60000

typedef struct {

int id; char name[20]; char des[100]; }vinfo;//站点

typedef struct { int distance; int kind;

}ArcCell, AdjMatrix[MAX_V_NUM][MAX_V_NUM];//邻接矩阵

typedef struct { vinfo vexs[MAX_V_NUM];//站点数组 AdjMatrix arcs; int vexnum,arcnum; }MGraph;//图

MGraph G;//图G

int input_exit = 0;//退出操作

//ota最短路径存储用变量

int P[MAX_V_NUM][MAX_V_NUM]; //最短路径中间点记录 int D[MAX_V_NUM]; //到各点的最短路径

int Sorder[MAX_V_NUM]; //最短路径根点由小到大排序

//路径探寻存储用变量(使用前后必须重置为0)

7

int path[MAX_V_NUM]; //路径站点 int visited[MAX_V_NUM]; //访问标志 int path_num; //所有路径数 int best_l; //目前最短的总长度

int bestl_num; //目前总长度最短的路径途经站点个数

//客运货运路径函数用存储数组

int path_kh[MAX_V_NUM][MAX_V_NUM];//存储暂时满足条件的客货运路径 int path_kh_vnum[MAX_V_NUM];//记录每条路径途经的站点数 int path_num_bak;//备份所有路径数

/**************************************** 函数声明

****************************************/

void welcome();//欢迎界面

void search_vex_info();//站点信息介绍

void search_rantwo_short();//查询任意两个站点之间的一条最短简单路径 void map_manage();//站点线路修改扩充

//void search_two_allpath();//查询两站点间所有路径 void search_kh_path();//客货运类别路径查询

void create_map();//初始化地图

void save_map();//将程序中的图结构体写入数据文件 int input_num_check(int min,int max);//数字输入检验

void shortest_path_ota(int begin);//生成某一站点到所有其它站点的最短路径数据 void print_fgx();//输出独占一行的分割线 void map_add_vex();//新增站点 void map_add_road();//新增道路 void map_revise_vex();//修改站点

void map_revise_road();//修改道路(引导界面)

void map_reroad_in(int vid);//修改道路(公用嵌入函数) void map_delete_vex();//删除站点

void map_delete_road();//删除道路(引导界面)

void map_re_arc(int bid,int fid,int kind,int xid);//修改道路(模块函数) 若修改终点:调用前需确保xid(新终点)与原终点不相同

void map_de_arc(int bid,int fid);//删除道路(模块函数)

void DFS_allpath(int bid,int fid,int k);//寻找两点间所有路径并输出 void search_kh_kh(int kind);//查找所有符合类别的路径

void DFS_allpath_kh(int bid,int fid,int k,int kind);//寻找两点间所有路径并判断该路径上到道路是否全为客/货运线路

int DFS_allpath_kh_isinclude(int bz_i,int pa_k,int kind);//人客/货运线路 判断较长路径是否完全包含较短路径

8

int DFS_allpath_kh_test(int a_i,int b_i);//输出前检测 判断较长路径是否完全包含较短路径

void main() { int step = -1,choose = 1; create_map(); do { welcome(); printf(\请输入功能序号:\ step = input_num_check(0,3); if(input_exit == 1) { input_exit = 0; step = -1; choose = 0; } else { switch(step) { case 1:search_vex_info();break; case 2:map_manage();break; case 3:search_kh_path();break; default:choose = 0; } } }while(choose != 0); printf(\您已成功退出,欢迎下次使用,再见!\\n[按任意键关闭窗口]\ getch();//在你需要暂停的位置暂停一下,当你按一下任意键它又会继续往下执行! }

void welcome() { int i; printf(\ printf(\ \\n\ printf(\ 全国铁路网最佳经由系统 \\n\

9


题目8:全国铁路运输网最佳经由问题 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ASPNET上机实验指导书分析 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: