页脚
基本操作:
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_N 页脚
UM] 函数变量声明:
#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]; //数组成员为结构体,记录了到达城市、起止时间、票价和班次
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)
{
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(\ scanf(\ printf(\ scanf(\
printf(\ 页脚 添加城市 输入城市名:\删除城市 输入城市名:\添加路线 起始站城市名:\终点站城市名:\类型(列车0,航班1):\输入列车/飞机班次:\起始时刻(00:00,24小时制):\