期末课程设计-交通咨询系统

#include
#include
#include "string.h"
#define INF 32767
#define MAXV  10
typedef int InfoType;
typedef struct
{
    char cityname;
    int  no;          //顶点编号
    InfoType info;    //顶点其他信息
} VertexType;         //顶点类型
typedef struct
{
    int edges[MAXV][MAXV];  //邻接矩阵的边数组
    int n,e;                //顶点数,边数
    VertexType vxs[MAXV];   //存放顶点信息
} MGraph;                   //完整的图邻接矩阵类型

/************************ 功能1 *****************************/

//功能1 系统中的城市代号  中递归输出两城市最短路径中依次经过的城市
void Ppath(int path[],int i,int v)
{
    int k;
    k=path[i];
    if(k==v) return;   //两点重合 递归出口
    Ppath(path,k,v);   //递归输出k——v的最短路径
    printf("%d,",k);    //输出经过的城市k
}

//实现功能1 求两城市间的最短路径
void Dispath(int dist[],int path[],int s[],int n,int v)
{
    int i;
    for(i=0; iA[i][k]+A[k][j])
                {
                    A[i][j]=A[i][k]+A[k][j];
                    path[i][j]=k;             //修改最短路径
                }
    }
    Dispath2(A,path,g.n);                     //输出最短路径
}

void user_pr()
{
    printf("****************************************************************************\n");
    printf(" *       * *    ******          交通咨询系统          ******    * *       *\n");
    printf("  *     *   *   ****** 1-一个城市到所有城市的最短路径 ******   *   *     *\n");
    printf("   *   *     *  ****** 2-任意的两个城市之间的最短路径 ******  *     *   *\n");
    printf("    * *       * ****** 0-退出                         ****** *       * *\n");
    printf("     ******************************************************************\n");
    printf("\n");
    printf("请选择:");
}
int main()
{
    printf("对应城市代码\n    0——青岛,1——烟台,2——聊城,3——潍坊,4——济南,5——枣庄\n\n");
    int i,j,z,x;
    MGraph g;      //定义一个邻接矩阵
    int A[][MAXV]= {{INF,20,INF,15,INF,25},{20,INF,INF,21,INF,INF},
        {INF,INF,INF,INF,10,20},{15,21,INF,INF,16,26},{INF,INF,10,16,INF,20},
        {25,INF,20,26,20,INF}
    };
    g.n=6;
    g.e=10;
    for(i=0; i

期末课程设计-交通咨询系统_第1张图片

期末课程设计-交通咨询系统_第2张图片

期末课程设计-交通咨询系统_第3张图片

期末课程设计-交通咨询系统_第4张图片


你可能感兴趣的:(期末课程设计-交通咨询系统)