数据结构课程设计交通咨询系统设计.doc
《数据结构课程设计交通咨询系统设计.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计交通咨询系统设计.doc(37页珍藏版)》请在咨信网上搜索。
设计题目<二〉:7、3、4交通咨询系统设计P160 一、设计要求 1.问题描述 ﻩﻩ根据不同目得得旅客对交通工具有不同得要求。例如,因公出差得旅客希望在旅途中得时间尽可能得短,出门旅行得旅客希望旅费尽可能得少,而老年人则要求中转次数少。模拟一个全国城市之间得咨询交通程序,为旅客提供两种或三种最优得交通路线。 2。需求分析 二、概要设计 1.主界面设计 (图2、1“交通咨询系统”主菜单) 2。存储结构设计 本系统采用图结构类型存储抽象交通咨询系统得信息。 typedef struct TrafficNode { char name[MAX_STRING_NUM]; //班次 //MAX_STRING_NUM最为10 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; 3。系统功能设计 (1)添加城市。添加一个城市得名称 (2)删除城市。输入一个城市名称,删除该城市. (3)添加交通路线。输入起始城市、终点城市、航班或火车、车次、起始时间、终点时间与票价 (4) 删除交通路线。输入火车或飞机得班次删除该交通路线。 (5)查询最小费用路线。输入起始城市、终点城市、航班或火车、车次、起始时间、终点时间查询最小费用路线。 三、模块设计 1.模块设计 无向网操作模块 工作区模块 主程序模块 ﻩﻩ (图2、2 模块调用示意图) 2.系统子程序及功能设计 (1)int ShowMenu()//主菜单 (2)void CopyRight() (3)int SeekCity(char *name) //寻找城市 (4)int InsertCity(char *Name) //添加城市 (5)int SaveSysInfo() //向程序输入数据 (6)int DelCity(char *Name) //删除城市 (7)int InsertTrain(char *train, char *StartCity, char *EndCity, int StartTime, int EndTime, int cost)//添加火车路线 (8)int InsertFlight(char *flight, char *StartCity, char *EndCity, int StartTime, int EndTime, int cost)//添加飞机航线 (9)int DelPath(char *name)//删除路线 (10)void Dijkstra(int matx[Dij_MAXN][Dij_MAXN], int p_start, int p_end, int TravelType) (11)int InitSysData()//存储数据 (12)int SearchMinTime(CityType City, CityType EndCity, int CurTime, int curPathNo, int TravelType)//查询最短时间 (13)int CalcMinTime(int StartCity, int EndCity, int TravelType) //显示最短时间 (14)int CalcMinCost(int StartCity, int EndCity, int TravelType)//最少花费 (15)int main()//主函数 3。函数主要调用关系图 15main() 8 9 1 12 7 5 4 13 6 3 6 1 2 2 3 7 1 6 ﻩ ﻩﻩﻩ (图2、3函数主要调用关系图) 四、详细设计 1.数据类型定义 (1)全局变量得定义 typedef short int CityType;//CityType 定义短整形得变量 typedef struct TrafficNode { ﻩchar name[MAX_STRING_NUM]; //班次 //MAX_STRING_NUM最为10 ﻩ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; 2.系统主要子程序详细设计 (1)用户工作区模块得设计 int ShowMenu() { printf("\n|******************欢迎使用交通咨询系统*******|\n”); printf(”\n|-----———-----—-——-1: 添加城市——-------——-——-—|”); ﻩprintf("\n|——--———-—-—-——-———2: 删除城市----——----——-—--|”); ﻩprintf(”\n|——————--—--—----——3: 添加交通路线-———--———-——|"); printf("\n|———-—--——----———-—4: 删除交通路线—-—--—--——--|”); printf("\n|-—---——---—-----—-5: 查询最小费用路线---—-———|"); printf(”\n|-----———----------6: 查询最快路线-———--—————-|"); ﻩprintf(”\n|----------------—-7: 清除屏幕--—-—---———-—---|”); printf("\n|-—--—--—-------—--0: 退出-——--—--—------—————|\n”); printf("\n|***********o(∩_∩)o o(∩_∩)o **************|\n”); ﻩprintf("\n请输入您得选择:"); ﻩreturn 1; } (2)用Dijkstra算法求两段路程得最短距离 void Dijkstra_Output(int matx[Dij_MAXN][Dij_MAXN], int PreCity[Dij_MAXN], int p_end, int TravelType) { int track[Dij_MAXN]; ﻩint i = 0, j, k, min, tmp, end, cost = 0; ﻩj = p_end; track[i++] = j; ﻩwhile (PreCity[j] >= 0) { cost += matx[PreCity[j]][j]; track[i++] = j = PreCity[j]; } ﻩprintf("\nTrack Way:”); if (!TravelType) { ﻩﻩfor (i--; i>0; i--) { ﻩﻩ printf("\n%s:", CityName[track[i]]); end = track[i - 1]; min = 32767; ﻩ for (k = 0; k<AdjList[track[i]]、TrainNum; k++) if (AdjList[track[i]]、Train[k]、EndCity == end&&min〉AdjList[track[i]]、Train[k]、Cost) ﻩﻩ{ ﻩ min = AdjList[track[i]]、Train[k]、Cost; ﻩ tmp = k; ﻩﻩ} ﻩprintf("%s”, AdjList[track[i]]、Train[tmp]、name); ﻩ ﻩprintf("%2d:%2d—%2d:%2d”, AdjList[track[i]]、Train[tmp]、StartTime / 60, AdjList[track[i]]、Train[tmp]、StartTime % 60, AdjList[track[i]]、Train[tmp]、StopTime / 60, AdjList[track[i]]、Train[tmp]、StopTime % 60); ﻩ} } ﻩelse { for (i-—; i>0; i--) ﻩ { ﻩﻩ printf(”\n%s:", CityName[track[i]]); ﻩ end = track[i — 1]; min = 32767; ﻩﻩfor (k = 0; k〈AdjList[track[i]]、FlightNum; k++) ﻩﻩif (AdjList[track[i]]、Train[k]、EndCity == end&&min>AdjList[track[i]]、Flight[k]、Cost) { ﻩ min = AdjList[track[i]]、Flight[k]、Cost; ﻩﻩﻩﻩtmp = k; ﻩ} ﻩ printf(”%s", AdjList[track[i]]、Flight[tmp]、name); ﻩﻩprintf("%2d:%2d—%2d:%2d", AdjList[track[i]]、Flight[tmp]、StartTime / 60, AdjList[track[i]]、Flight[tmp]、StartTime % 60, AdjList[track[i]]、Flight[tmp]、StopTime / 60, AdjList[track[i]]、Flight[tmp]、StopTime % 60); ﻩﻩ} } printf(”\n%s: DESTINATION!”, CityName[track[0]]); printf("\nMin Cost : %d\n”, cost); } void Dijkstra(int matx[Dij_MAXN][Dij_MAXN], int p_start, int p_end, int TravelType) { ﻩint PreCity[Dij_MAXN]; //PreCity[i]==-1,never used; ﻩ//PreCity>0,the precity of City i int i, j, min, pre, pos; ﻩfor (i = 0; i<CityNum; i++) { ﻩﻩPreCity[i] = -1; ﻩ} ﻩPreCity[p_start] = —2; while (PreCity[p_end] == -1) { ﻩmin = —1; ﻩﻩfor (i = 0; i<CityNum; i++) ﻩ if (PreCity[i] != -1) ﻩ { ﻩﻩ for (j = 0; j<CityNum; j++) if (PreCity[j] == -1 && matx[i][j]>0 && (min<0 || matx[i][j]<min)) ﻩ { ﻩ pre = i; pos = j; min = matx[i][j]; ﻩﻩﻩ} ﻩ} PreCity[pos] = pre; ﻩ} ﻩDijkstra_Output(matx, PreCity, p_end, TravelType); } 五、测试分析 1、 添加城市 在主菜单下,用户输入1,添加城市名称。 ﻩ(图2、4添加城市) 2.删除城市 在主菜单下,用户输入2,删除已添加城市名称. ﻩﻩ (图2、5删除城市) 3.添加交通路线 在主菜单下,用户输入3,已添加城市名称。添加起始城市、终点城市名称、乘车类型、乘车班次、起始时刻、终点时刻、与票价。 ﻩ (图2、6添加交通路线) 4.删除交通路线 输入班次号,删除交通路线 ﻩﻩ (图2、7删除交通路线) 5。查询最小费用交通路线 ﻩﻩﻩ(图2、8 查询最小费用交通路线) 6。查询最快交通路线 ﻩ (图2、9查询最快交通路线) 7。清除屏幕 8.退出 六、用户手册 使用本系统时,用户需先向程序添加城市后,在已有城市基础上添加已有城市得路线与使用各项功能。 七、调试报告 程序运行无错误,但当系统输入其她无储存内容时程序会意外中断,代码需要优化。 八、程序清单 #include ”stdafx、h” #include <stdio、h> #include 〈string、h> #include <stdlib、h> #define ERR 0 #define OK 1 #define Dij_MAXN 100 #define MAX_VERTEX_NUM 100 #define MAX_STRING_NUM 100 #define MAX_TRAFFIC_NUM 100 const char CityFile[] = "city、txt"; const char TrainFile[] = "train、txt"; const char FlightFile[] = ”flight、txt”; typedef short int CityType;//CityType 定义短整形得变量 typedef struct TrafficNode { char name[MAX_STRING_NUM]; //班次 //MAX_STRING_NUM最为10 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]; 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 ShowMenu() { printf("\n|******************欢迎使用交通咨询系统*******|\n"); printf(”\n|-—----—---—-——————1: 添加城市---————-——---—-—|"); ﻩprintf("\n|-——-—-—-—-——-—-——-2: 删除城市----———--------—|"); printf(”\n|—--——----—--—--—-—3: 添加交通路线--—-——-—-——-|"); printf("\n|—--——---—-——------4: 删除交通路线-——--------—|”); printf("\n|—-—-————------—-—-5: 查询最小费用路线——--—---|"); printf("\n|—-----—-—-——-—-———6: 查询最快路线--------—-——|"); printf("\n|——-—----—-—---———-7: 清除屏幕------—----——---|"); ﻩprintf(”\n|--—-—————-—-—-———-0: 退出----—--—--------—--—|\n"); ﻩprintf("\n|***********o(∩_∩)o o(∩_∩)o **************|\n"); ﻩprintf(”\n请输入您得选择:"); return 1; } void CopyRight() { ﻩprintf("\n”); } int SeekCity(char *name) //寻找城市 { ﻩint i; for (i = 0; i〈CityNum; i++) ﻩ{ if (strcmp(name, CityName[i]) == 0) //比较函数,若相等,则返回i值 ﻩ { ﻩ return i; ﻩ} } ﻩreturn -1; } //=============================================Edit Info==================================================== int SaveSysInfo() //向程序输入数据 { FILE *fp; int i, j, total; fp = fopen(CityFile, "w"); //打开CityFile文档 fprintf(fp, "%d\n”, CityNum); //往文档中写城市得数量 ﻩfor (i = 0; i<CityNum; i++) { ﻩfprintf(fp, "%s\n”, CityName[i]); //往文档中写城市得名字 ﻩ} ﻩfclose(fp);//将CityFile文档关闭 ﻩtotal = 0; fp = fopen(TrainFile, "w”);//打开TrainFile文档 ﻩfor (i = 0; i<CityNum; i++) //计算列车班次得数量 ﻩ{ ﻩtotal += AdjList[i]、TrainNum; } ﻩfprintf(fp, ”%d\n", total); //往文档中写列车班次得数量 ﻩfor (i = 0; i〈CityNum; i++) // ﻩ{ ﻩfor (j = 0; j〈AdjList[i]、TrainNum; j++) //往文档中写列车得车次、始发城市、终点城市 ﻩ { ﻩ fprintf(fp, ”%s %s %s ", AdjList[i]、Train[j]、name, ﻩCityName[i], ﻩ CityName[AdjList[i]、Train[j]、EndCity]); ﻩﻩ fprintf(fp, "%2d:%2d %2d:%2d %d\n”, AdjList[i]、Train[j]、StartTime / 60, //往文档中写 ﻩﻩ ﻩAdjList[i]、Train[j]、StartTime % 60, ﻩﻩﻩ AdjList[i]、Train[j]、StopTime / 60, ﻩ ﻩAdjList[i]、Train[j]、StopTime % 60, ﻩ AdjList[i]、Train[j]、Cost); ﻩ} } ﻩfclose(fp); total = 0; fp = fopen(FlightFile, "w”); for (i = 0; i<CityNum; i++) { ﻩﻩtotal += AdjList[i]、FlightNum; ﻩ} ﻩfprintf(fp, ”%d\n”, total); for (i = 0; i〈CityNum; i++) ﻩ{ ﻩfor (j = 0; j〈AdjList[i]、FlightNum; j++) ﻩ{ fprintf(fp, "%s %s %s ”, AdjList[i]、Flight[j]、name, ﻩ ﻩCityName[i], ﻩﻩﻩﻩCityName[AdjList[i]、Flight[j]、EndCity]); ﻩﻩfprintf(fp, "%2d:%2d %2d:%2d %d\n", AdjList[i]、Flight[j]、StartTime / 60, ﻩﻩ AdjList[i]、Flight[j]、StartTime % 60, ﻩﻩﻩ AdjList[i]、Flight[j]、StopTime / 60, ﻩ ﻩAdjList[i]、Flight[j]、StopTime % 60, ﻩ ﻩAdjList[i]、Flight[j]、Cost); ﻩﻩ} } ﻩfclose(fp); return 1; } int InsertCity(char *Name) //添加城市 { strcpy(CityName[CityNum], Name); ﻩAdjList[CityNum]、city = CityNum; AdjList[CityNum]、FlightNum = 0; AdjList[CityNum]、TrainNum = 0; CityNum++; ﻩreturn 1; } int DelCity(char *Name) //删除城市 { int city, i, j,o=1,k=1; ﻩcity = SeekCity(Name); printf("%s",Name); ﻩwhile (true) ﻩ{ ﻩ while (CityName[k] != Name) ﻩ { k++; } ﻩﻩif (k 〉 CityNum) ﻩ{ ﻩ o-—; ﻩprintf("未找到此城市,请重新输入!"); ﻩﻩreturn 0; } ﻩ for (i = city; i < CityNum — 1; i++) //???可能city就是从0开始得 ﻩ{ ﻩ strcpy(CityName[i], CityName[i + 1]); AdjList[i]、FlightNum = AdjList[i + 1]、FlightNum; ﻩﻩﻩAdjList[i]、TrainNum = AdjList[i + 1]、TrainNum; ﻩﻩﻩfor (j = 0; j < AdjList[i]、FlightNum; j++) //为什么没有火车得?? ﻩﻩ { ﻩ ﻩﻩAdjList[i]、Flight[j]、Cost = AdjList[i + 1]、Flight[j]、Cost; ﻩ ﻩﻩAdjList[i]、Flight[j]、EndCity = AdjList[i + 1]、Flight[j]、EndCity; ﻩﻩ ﻩstrcpy(AdjList[i]、Flight[j]、name, AdjList[i + 1]、Flight[j]、name); ﻩﻩﻩﻩAdjList[i]、Flight[j]、StartTime = AdjList[i + 1]、Flight[j]、StartTime; ﻩﻩﻩ AdjList[i]、Flight[j]、StopTime = AdjList[i + 1]、Flight[j]、StopTime; ﻩﻩ } ﻩﻩ} ﻩCityNum-—; ﻩ} return 1; } int InsertTrain(char *train, char *StartCity, char *EndCity, int StartTime, int EndTime, int cost) { ﻩint i, j; //InsertTrain(name,s_city,e_city,s_hour*60+s_minute,e_hour*60+e_minute,cost); i = SeekCity(StartCity); j = SeekCity(EndCity); AdjList[i]、Train[AdjList[i]、TrainNum]、Cost = cost; AdjList[i]、Train[AdjList[i]、TrainNum]、EndCity = j; ﻩAdjList[i]、Train[AdjList[i]、TrainNum]、StartTime = StartTime; AdjList[i]、Train[AdjList[i]、TrainNum]、StopTime = EndTime; ﻩstrcpy(AdjList[i]、Train[AdjList[i]、TrainNum]、name, train); AdjList[i]、TrainNum++; //火车得数加1 return 1; } int InsertFlight(char *flight, char *StartCity, char *EndCity, int StartTime, int EndTime, int cost) { ﻩint i, j; i = SeekCity(StartCity); j = SeekCity(EndCity); AdjList[i]、Flight[AdjList[i]、FlightNum]、Cost = cost; ﻩAdjList[i]、Flight[AdjList[i]、FlightNum]、EndCity = j; ﻩAdjList[i]、Flight[AdjList[i]、FlightNum]、StartTime = StartTime; AdjList[i]、Flight[AdjList[i]、FlightNum]、StopTime = EndTime; ﻩstrcpy(AdjList[i]、Train[AdjList[i]、FlightNum]、name, flight); ﻩAdjList[i]、FlightNum++; return 1; } int DelPath(char *name) { ﻩint i, j, flag = 0; ﻩfor (i = 0; i<CityNum; i++) { ﻩfor (j = 0; j〈AdjList[i]、FlightNum; j++) //注意j就是从0开始得 ﻩﻩif (strcmp(AdjList[i]、Flight[j]、name, name) == 0) ﻩﻩ{ ﻩﻩflag = 1; break; ﻩ} ﻩif (flag) { ﻩ for (; j<AdjList[i]、FlightNum — 1; j++) //把删除得航班后得每个航班向前移一位 ﻩﻩ { ﻩ AdjList[i]、Flight[j]、Cost = AdjList[i]、Flight[j + 1]、Cost; ﻩﻩ AdjList[i]、Flight[j]、EndCity = AdjList[i]、Flight[j + 1]、EndCity; ﻩﻩﻩstrcpy(AdjList[i]、Flight[j]、name, AdjList[i]、Flight[j + 1]、name); ﻩﻩﻩ AdjList[i]、Flight[j]、StartTime = AdjList[i]、Flight[j + 1]、StartTime; ﻩﻩ AdjList[i]、Flight[j]、StopTime = AdjList[i]、Flight[j + 1]、StopTime; ﻩﻩ} ﻩAdjList[i]、FlightNum—-; break; ﻩ} for (j = 0; j<AdjList[i]、TrainNum; j++) ﻩﻩif (strcmp(AdjList[i]、Train[j]、name, name) == 0) ﻩ { ﻩﻩflag = 1; break; ﻩ } ﻩ if (flag) { ﻩﻩfor (; j<AdjList[i]、TrainNum - 1; j++) //把删除得列车后得每个列车车次都前移一位 { ﻩﻩﻩﻩAdjList[i]、Train[j]、Cost = AdjList[i]、Train[j + 1]、Cost; ﻩ ﻩ AdjList[i]、Train[j]、EndCity = AdjList[i]、Train[j + 1]、EndCity; ﻩ ﻩstrcpy(AdjList[i]、Train[j]、name, AdjList[i]、Train[j + 1]、name); ﻩﻩ AdjList[i]、Train[j]、StartTime = AdjList[i]、Train[j + 1]、StartTime; ﻩﻩ AdjList[i]、Train[j]、StopTime = AdjList[i]、Train[j + 1]、StopTime; } ﻩ AdjList[i]、TrainNum—-; break; ﻩﻩ} } ﻩreturn 1; } //==============================================Check Info================================================ void Dijkstra_Output(int matx[Dij_MAXN][Dij_MAXN], int PreCity[Dij_MAXN], int p_end, int TravelType) { ﻩint track[Dij_MAXN]; ﻩint i = 0, j, k, min, tmp, end, cost = 0; j = p_end; track[i++] = j; while (PreCity[j] 〉= 0) { ﻩﻩcost += matx[PreCity[j]][j]; ﻩ track[i++] = j = PreCity[j]; } printf("\nTrack Way:"); if (!TravelType) ﻩ{ ﻩ for (i——; i〉0; i--) ﻩﻩ{ ﻩ ﻩprintf(”\n%s:", CityName[track[i]]); ﻩﻩﻩend = track[i - 1]; min = 32767; ﻩ ﻩfor (k = 0; k〈AdjList[track[i]]、TrainNum; k++) if (AdjList[track[i]]、Train[k]、EndCity == end&&min〉AdjList[track[i]]、Train[k]、Cost) ﻩ { ﻩﻩ min = AdjList[track[i]]、Train[k]、Cost; ﻩtmp = k; ﻩ } ﻩ printf(”%s”, AdjList[track[i]]、Train[tmp]、name); ﻩ printf("%2d:%2d-%2d:%2d", AdjList[track[i]]、Train[tmp]、StartTime / 60, AdjList[track[i]]、Train[tmp]、StartTime % 60, AdjList[track[i]]、Train[tmp]、StopTime / 60, AdjList[track[i]]、Train[tmp]、StopTime % 60); ﻩ} } ﻩelse ﻩ{ for (i——; i>0; i--) ﻩﻩ{ ﻩ printf("\n%s:", CityName[track[i]]); ﻩﻩend = track[i — 1]; min = 32767; ﻩﻩﻩfor (k = 0; k<AdjList[track[i]]、FlightNum; k++) ﻩ if (AdjList[track[i]]、Train[k]、EndCity == end&&min〉AdjList[track[i]]、Flight[k]、Cost) ﻩﻩ{ ﻩﻩmin = AdjList[track[i]]、Flight[k]、Cost; ﻩ ﻩﻩtmp = k; } ﻩ printf(”%s", AdjList[track[i]]、Flight[tmp]、name); ﻩ printf("%2d:%2d—%2d:%2d”, AdjList[track[i]]、Flight[tmp]、StartTime / 60, AdjList[track[i]]、Flight[tmp]、StartTime % 60, AdjList[track[i]]、Flight[tmp]、StopTime / 60, AdjList[track[i]]、Flight[tmp]、StopTime % 60); } } printf("\n%s: DESTINATION!”, CityName[track[0]]); printf(”\nMin Cost : %d\n", cost- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 交通 咨询 系统 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文