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

内容发布更新时间 : 2024/12/23 20:55:23星期一 下面是文章的全部内容请认真阅读。

页脚

基本操作:

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 #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小时制):\