全国交通咨询模拟系统实验报告 下载本文

页眉内容

41

页脚内容

页眉内容

基本操作:

TrafficNodeDat 交通工具 信息 UNodeDat 路线 信息 Char name[MAX_STRING_NUM] Int starttime Int starttime Int cost Short int city Int TrainNum int FlightNum TrafficNodeDat Train[MAX_TRAFFIC_NUM] TrafficNodeDat Flight[MAX_TRAFFIC_页脚内容

班次 出发时间 到达时间 票价 城市编号 火车路线数 航班路线数 火车路线信息 航班路线信息 41

页眉内容

NUM] 函数变量声明:

#include #include

#define ERR 0 #define OK 1 #define Dij_MAXN 33

#define MAX_VERTEX_NUM 31 #define MAX_STRING_NUM 10 #define MAX_TRAFFIC_NUM 10

const char CityFile[] =\ const char TrainFile[] =\ const char FlightFile[] =\

typedef short int CityType;

typedef struct TrafficNode {

char name[MAX_STRING_NUM]; //班次 int StartTime,StopTime; //起止时间

int EndCity; //该有向边指向的顶点在数组中的位置,即该城市编号 int Cost; //票价 } TrafficNodeDat;

typedef struct VNode {

CityType city;

int TrainNum,FlightNum; //标记下面Train数组和Flight数组里元素个数 TrafficNodeDat Train[MAX_TRAFFIC_NUM]; //数组成员为结构体,记录了

页脚内容

41

页眉内容

到达城市、起止时间、票价和班次

TrafficNodeDat Flight[MAX_TRAFFIC_NUM]; // int Cost; //遍历时到达该城市的耗费(时间或者费用) } VNodeDat;

typedef struct PNode {

int City; int TraNo; } PNodeDat;

VNodeDat AdjList[MAX_VERTEX_NUM]; //System Info

char CityName[MAX_VERTEX_NUM][MAX_STRING_NUM]; //城市名,采用第一下标为该城市在本程序中的编号 int CityNum; //城市数目

PNodeDat Path[MAX_VERTEX_NUM]; //存储临时最小时间路径

PNodeDat MinPath[MAX_VERTEX_NUM]; //存储搜索到当前的最小时间路径

int MinTime,StartTime; int curPath;

函数构成:

int main()

{

char name[MAX_STRING_NUM]; char s_city[MAX_STRING_NUM]; char e_city[MAX_STRING_NUM]; int Command,cost;

int startcity,endcity,traveltype; int s_hour,s_minute,e_hour,e_minute;

while (1)

页脚内容

41

页眉内容

{

ShowMenu(); //显示菜单 scanf(\ switch (Command)

{

case 0: //退出 return 0; case 1: //添加城市 InitSysData();

printf(\输入城市名:\ scanf(\ InsertCity(name); SaveSysInfo();

printf(\ break; case 2: //删除城市 InitSysData();

printf(\输入城市名:\ scanf(\ DelCity(name); SaveSysInfo();

printf(\ break; case 3: //添加路线 InitSysData();

printf(\起始站城市名:\ scanf(\ printf(\终点站城市名:\ scanf(\

printf(\类型(列车0,航班1):\ scanf(\ printf(\输入列车/飞机班次:\ scanf(\

printf(\起始时刻(00:00,24小时制):\ scanf(\

41

页脚内容