当前位置: 魅力文档网 > 范文大全 > 公文范文 >

数据结构课程设计交通咨询系统设计

| 来源:网友投稿

 设计题目< 二〉: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; //起止时间

 号编市城该即,置位得中组数在点顶得向指边向有该// ;ytiCdnE tniﻩ

 价票// ;tsoC tniﻩ} TrafficNodeDat; typedef struct VNode {

 ;ytic epyTytiCﻩ元里组数 thgilF 与组数 niarT面下记标// ;muNthgilF ,muNniarT tniﻩ素个数

  TrafficNodeDat Train[MAX_TRAFFIC_NUM]; //数组成员为结构体,记录了到达城市、起止时间、票价与班次

  ;]MUN_CIFFART_XAM[thgilF taDedoNciffarTﻩ //

 )用费者或间时(费耗得市城该达到时历遍// ;tsoC tniﻩ} VNodeDat; typedef struct PNode {

 ;ytiC tniﻩ 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。

 。

 函数主要调用关系图

  ﻩ

 ﻩﻩﻩ

 (图2、3 函数主要调用关系图 ) 四、 详细设计 1. . 数据类型定义 (1)全局变量得定义 15main() 8 9 1 12 7 5 4 13 6 3 6 1 2 2 3 7 1 6

 typedef short int CityType;//CityType 定义短整形得变量

 typedef struct TrafficNode { 最 MUN_GNIRTS_XAM// 次班// ;]MUN_GNIRTS_XAM[eman rahcﻩ为 10

  间时止起// ;emiTpotS ,emiTtratS tniﻩ

 号编市城该即,置位得中组数在点顶得向指边向有该// ;ytiCdnE tniﻩ int Cost; //票价

 } TrafficNodeDat; typedef struct VNode {

 CityType city; 元里组数 thgilF与组数 niarT 面下记标// ;muNthgilF ,muNniarT tniﻩ素个数

 结为员成组数// ;]MUN_CIFFART_XAM[niarT taDedoNciffarTﻩ构体,记录了到达城市、起止时间、票价与班次

  TrafficNodeDat Flight[MAX_TRAFFIC_NUM];

 //

 )用费者或间时(费耗得市城该达到时历遍// ;tsoC tniﻩ} VNodeDat; typedef struct PNode {

 ;ytiC tniﻩ

  ;oNarT tniﻩ} PNodeDat;

 2 2. 系统主要子程序详细设计 (1)用户工作区模块得设计 int ShowMenu()

 {

 printf("\n|******************欢迎使用交通咨询系统*******|\n”);

 printf(”\n|-----———-----—-——-1: 添加城市——-------——-——-—|”); --——----市城除删 :2———-——-—-—-———--——|n\"(ftnirpﻩ--——-—--|”); 线路通交加添 :3——----—--—--——————|n\”(ftnirpﻩ-———--———-——|");

 printf("\n|———-—--——----———-—4:

 删除交通路线—-—--—--——--|”);

  printf("\n|-—---——---—-----—-5: 查询最小费用路线---—-———|");

 printf(”\n|-----———----------6:

 查询最快路线-———--—————-|"); -—-—--幕屏除清 :7-—----------------|n\”(ftnirpﻩ--———-—---|”);

 printf("\n|-—--—--—-------—--0:

 退出-——--—--—------—————|\n”);

 printf("\n|***********o(∩_∩)o o(∩_∩)o **************|\n”);

 ;)":择选得您入输请 n\"(ftnirpﻩ ;1 nruterﻩ

 } (2)用 Dijkstra 算法求两段路程得最短距离 void Dijkstra_Output(int matx[Dij_MAXN][Dij_MAXN], int PreCity[Dij_MAXN], int p_end, int TravelType)

 {

 int track[Dij_MAXN];

 ;0 = tsoc ,dne ,pmt ,nim ,k ,j ,0 = i tniﻩ ;j = ]++i[kcart ;dne_p = jﻩ )0 => ]j[ytiCerP( elihwﻩ {

  cost += matx[PreCity[j]][j];

  track[i++] = j = PreCity[j];

 }

 ;)”:yaW kcarTn\"(ftnirpﻩ if (!TravelType)

 {

 )--i ;0>i ;--i( rofﻩﻩ

 {

  ;)]]i[kcart[emaNytiC ,":s%n\"(ftnirpﻩﻩ

  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;

  }ﻩﻩ

  ;)eman、]pmt[niarT、]]i[kcart[tsiLjdA ,”s%"(ftnirpﻩ

  ﻩ 、]]i[kcart[tsiLjdA ,”d2%:d2%—d2%:d2%"(ftnirpﻩ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);

  }ﻩ }

 esleﻩ {

  for (i-—; i>0; i--)

 ﻩ {

  ;)]]i[kcart[emaNytiC ,":s%n\”(ftnirpﻩﻩ

 ﻩ end = track[i — 1]; min = 32767;

  )++k ;muNthgilF、]]i[kcart[tsiLjdA〈k ;0 = k( rofﻩﻩ dA>nim&&dne == ytiCdnE、]k[niarT、]]i[kcart[tsiLjdA( fiﻩﻩjList[track[i]]、Flight[k]、Cost)

 {

  ﻩ

 min = AdjList[track[i]]、Flight[k]、Cost; ;k = pmtﻩﻩ

  }ﻩ ﻩ

 printf(”%s", AdjList[track[i]]、Flight[tmp]、name);

 hgilF、]]i[kcart[tsiLjdA ,"d2%:d2%—d2%:d2%"(ftnirpﻩﻩt[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) {

  ;desu reven,1-==]i[ytiCerP// ;]NXAM_jiD[ytiCerP tniﻩ//

 i ytiC fo yticerp eht,0>ytiCerPﻩ int i, j, min, pre, pos;

 )++i ;muNytiC<i ;0 = i( rofﻩ {

 ;1- = ]i[ytiCerPﻩﻩ }ﻩ ;2— = ]trats_p[ytiCerPﻩ while (PreCity[p_end] == -1)

 {

  ;1— = nimﻩ )++i ;muNytiC<i ;0 = i( rofﻩﻩ ﻩ if (PreCity[i] != -1)

 ﻩ {

  )++j ;muNytiC<j ;0 = j( rofﻩﻩ

  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;

 }ﻩ ;)epyTlevarT ,dne_p ,ytiCerP ,xtam(tuptuO_artskjiDﻩ}

 五、测试分析 1、 添加城市 在主菜单下,用户输入1,添加城市名称。

 (4、2图ﻩ 添加城市 )

 2.删除城市 在主菜单下,用户输入 2,删除已添加城市名称.

  ﻩﻩ (图 2、5 删除城市 ) 3.添加交通路线 在主菜单下,用户输入3,已添加城市名称。添加起始城市、终点城市名称、乘车类型、乘车班次、起始时刻、终点时刻、与票价。

  ﻩ (图2、6 添加交通路线 )

 4.删除交通路线 输入班次号,删除交通路线

  ﻩﻩ (图 2、7 删除交通路线 )

 5。查询最小费用交通路线

 (ﻩ8、2 图ﻩ 查询最小费用交通路线 ) 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; //起止时间

 号编市城该即,置位得中组数在点顶得向指边向有该// ;ytiCdnE tniﻩ int Cost; //票价

 } TrafficNodeDat; typedef struct VNode {

 ;ytic epyTytiCﻩ

 数个素元里组数 thgilF 与组数 niarT 面下记标// ;muNthgilF ,muNniarT tniﻩ构结为员成组数// ;]MUN_CIFFART_XAM[niarT taDedoNciffarTﻩ体,记录了到达城市、起止时间、票价与班次

  ;]MUN_CIFFART_XAM[thgilF taDedoNciffarTﻩ // int Cost; //遍历时到达该城市得耗费(时间或者费用)

 } VNodeDat; typedef struct PNode {

 int City;

 ;oNarT tniﻩ

 } 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:

 添加城市---————-——---—-—|"); --———----市城除删 :2-——-—-——-—-—-—-——-|n\"(ftnirpﻩ------—|");

 printf(”\n|—--——----—--—--—-—3:

 添加交通路线--—-——-—-——-|");

 printf("\n|—--——---—-——------4:

 删除交通路线-——--------—|”);

  printf("\n|—-—-————------—-—-5:

 查询最小费用路线——--—---|");

 printf("\n|—-----—-—-——-—-———6:

 查询最快路线--------—-——|");

 printf("\n|——-—----—-—---———-7:

 清除屏幕------—----——---|");

 ------—--—----出退 :0-———-—-—-—————-—--|n\”(ftnirpﻩ--—--—|\n"); ********** o)∩_∩(o o)∩_∩(o***********|n\"(ftnirpﻩ****|\n");

 ;)":择选得您入输请n\”(ftnirpﻩ return 1; } void CopyRight()

 {

 ;)”n\"(ftnirpﻩ} int SeekCity(char *name)

 //寻找城市 {

 ;i tniﻩ for (i = 0; i〈CityNum; i++)

 {ﻩ

 if (strcmp(name, CityName[i])

 == 0) //比较函数,若相等,则返回i值

 ﻩ {

 ﻩ

 return i;

  }ﻩ }

 ;1- nruterﻩ} //=============================================Edit Info====================================================

 int SaveSysInfo() //向程序输入数据 {

  FILE *fp; int i, j, total;

 fp = fopen(CityFile, "w"); //打开CityFile 文档

 fprintf(fp, "%d\n”, CityNum); //往文档中写城市得数量

 )++i ;muNytiC<i ;0 = i( rofﻩ {

  字名得市城写中档文往// ;)]i[emaNytiC ,”n\s%" ,pf(ftnirpfﻩ }ﻩ 闭关档文 eliFytiC将//;)pf(esolcfﻩ ;0 = latotﻩ fp = fopen(TrainFile, "w”);//打开TrainFile 文档

  量数得次班车列算计// )++i ;muNytiC<i ;0 = i( rofﻩ {ﻩ

 ;muNniarT、]i[tsiLjdA =+ latotﻩ }

 量数得次班车列写中档文往// ;)latot ,"n\d%” ,pf(ftnirpfﻩ // )++i ;muNytiC〈i ;0 = i( rofﻩ {ﻩ 列写中档文往// )++j ;muNniarT、]i[tsiLjdA〈j ;0 = j( rofﻩ车得车次、始发城市、终点城市

 ﻩ {

  ﻩ fprintf(fp, ”%s %s %s ", AdjList[i]、Train[j]、name,

  ,]i[emaNytiCﻩ

  ﻩ CityName[AdjList[i]、Train[j]、EndCity]);

 ﻩﻩ fprintf(fp, "%2d:%2d %2d:%2d %d\n”, AdjList[i]、Train[j]、StartTime / 60, //往文档中写

 ﻩﻩ

 ,06 % emiTtratS、]j[niarT、]i[tsiLjdAﻩ ﻩ,06 / emiTpotS、]j[niarT、]i[tsiLjdAﻩ

 ﻩ

 ,06 % emiTpotS、]j[niarT、]i[tsiLjdAﻩ

  ﻩ AdjList[i]、Train[j]、Cost);

  }ﻩ

  }

 ;0 = latot ;)pf(esolcfﻩ fp = fopen(FlightFile, "w”);

 for (i = 0; i<CityNum; i++)

 {

 ;muNthgilF、]i[tsiLjdA =+ latotﻩﻩ }ﻩ ;)latot ,”n\d%” ,pf(ftnirpfﻩ for (i = 0; i〈CityNum; i++)

 {ﻩ

 )++j ;muNthgilF、]i[tsiLjdA〈j ;0 = j( rofﻩ

 {ﻩ

  fprintf(fp, "%s %s %s ”, AdjList[i]、Flight[j]、name,

  ﻩ

 ,]i[emaNytiCﻩ;)]ytiCdnE、]j[thgilF、]i[tsiLjdA[emaNytiCﻩﻩ thgilF、]i[tsiLjdA ,"n\d% d2%:d2% d2%:d2%" ,pf(ftnirpfﻩﻩ[j]、StartTime / 60,

  ﻩﻩ AdjList[i]、Flight[j]、StartTime % 60,

 ﻩ,06 / emiTpotS、]j[thgilF、]i[tsiLjdAﻩ ﻩ

  ,06 % emiTpotS、]j[thgilF、]i[tsiLjdAﻩ

 ﻩ

 ;)tsoC、]j[thgilF、]i[tsiLjdAﻩ }ﻩﻩ }

 ;1 nruter ;)pf(esolcfﻩ} int InsertCity(char *Name) //添加城市 {

 strcpy(CityName[CityNum], Name);

 ;muNytiC = ytic、]muNytiC[tsiLjdAﻩ

  AdjList[CityNum]、FlightNum = 0;

 AdjList[CityNum]、TrainNum = 0;

 CityNum++;

 ;1 nruterﻩ} int DelCity(char *Name)

 //删除城市 {

 int city, i, j,o=1,k=1;

 ;)emaN(ytiCkeeS = yticﻩ printf("%s",Name);

 )eurt( elihwﻩ {ﻩ ﻩ while (CityName[k] != Name)

 ﻩ {

 k++;

  }

 )muNytiC 〉 k( fiﻩﻩ

 {ﻩ

 ﻩ o-—;

 ;)"!入输新重请,市城此到找未"(ftnirpﻩ

 ;0 nruterﻩﻩ

 }

 ﻩ for (i = city; i < CityNum — 1; i++) //???可能 city 就是从0开始得

  {ﻩ ﻩ

 strcpy(CityName[i], CityName[i + 1]);

 AdjList[i]、FlightNum = AdjList[i + 1]、FlightNum; ﻩ;muNniarT、]1 + i[tsiLjdA = muNniarT、]i[tsiLjdAﻩ

 ﻩ车火有没么什为// )++j ;muNthgilF、]i[tsiLjdA < j ;0 = j( rofﻩ得??

 ﻩﻩ {

 ﻩ C、]j[thgilF、]1 + i[tsiLjdA = tsoC、]j[thgilF、]i[tsiLjdAﻩﻩost;

 ﻩ thgilF、]1 + i[tsiLjdA = ytiCdnE、]j[thgilF、]i[tsiLjdAﻩﻩ[j]、EndCity;

 ﻩﻩ 、]j[thgilF、]1 + i[tsiLjdA ,eman、]j[thgilF、]i[tsiLjdA(ypcrtsﻩname); ilF、]1 + i[tsiLjdA = emiTtratS、]j[thgilF、]i[tsiLjdAﻩﻩght[j]、StartTime;

 ﻩ、]j[thgilF、]1 + i[tsiLjdA = emiTpotS、]j[thgilF、]i[tsiLjdAﻩStopTime;

 ﻩﻩ }

 }ﻩﻩ

 ;—-muNytiCﻩ }ﻩ return 1; } int InsertTrain(char *train, char *StartCity, char *EndCity, int StartTime, int EndTime, int cost)

 { _e,etunim_s+06*ruoh_s,ytic_e,ytic_s,eman(niarTtresnI// ;j ,i tniﻩ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;

  emiTtratS、]muNniarT、]i[tsiLjdA[niarT、]i[tsiLjdAﻩ= StartTime;

 AdjList [i]、Train[AdjList [i]、TrainNum]、StopTime = EndTime;

 ;)niart ,eman、]muNniarT、]i[tsiLjdA[niarT、]i[tsiLjdA(ypcrtsﻩ AdjList[i]、TrainNum++; //火车得数加 1

 return 1; } int InsertFlight(char *flight, char *StartCity, char *EndCity, int StartTime, int EndTime, int cost) {

  ;j ,i tniﻩ i = SeekCity(StartCity);

 j = SeekCity(EndCity);

 AdjList[i]、Flight[AdjList[i]、FlightNum]、Cost = cost;

 ;j = ytiCdnE、]muNthgilF、]i[tsiLjdA[thgilF、]i[tsiLjdAﻩ ;emiTtratS = emiTtratS、]muNthgilF、]i[tsiLjdA[thgilF、]i[tsiLjdAﻩ AdjList[i]、Flight[AdjList[i]、FlightNum]、StopTime = EndTime;

 ;)thgilf ,eman、]muNthgilF、]i[tsiLjdA[niarT、]i[tsiLjdA(ypcrtsﻩ ;++muNthgilF、]i[tsiLjdAﻩ return 1; } int DelPath(char *name)

 {

 ;0 = galf ,j ,i tniﻩ )++i ;muNytiC<i ;0 = i( rofﻩ {

 从是就j意注// )++j ;muNthgilF、]i[tsiLjdA〈j ;0 = j( rofﻩ0 开始得

  )0 == )eman ,eman、]j[thgilF、]i[tsiLjdA(pmcrts( fiﻩﻩ {ﻩﻩ

 ;kaerb ;1 = galfﻩﻩ

 }ﻩ

 )galf( fiﻩ

 {

 ﻩ

 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;

 ﻩ;)eman、]1 + j[ thgilF、]i[ tsiLjdA ,eman、]j[thgilF、]i[tsiLjdA(ypcrtsﻩ ﻩ、]1 + j[thgilF、]i[tsiLjdA = emiTtratS、]j[thgilF、]i[tsiLjdAﻩStartTime;

 ﻩﻩ

 AdjList[i]、Flight[j]、StopTime = AdjList[i]、Flight[j + 1]、StopTime;

  }ﻩﻩ

  ;kaerb ;-—muNthgilF、]i[tsiLjdAﻩ

 }ﻩ

 for (j = 0; j<AdjList[i]、TrainNum; j++)

 )0 == )eman ,eman、]j[niarT、]i[tsiLjdA(pmcrts( fiﻩﻩ ﻩ {

  ;kaerb ;1 = galfﻩﻩ ﻩ }

 ﻩ if (flag)

  {

  得后车列得除删把// )++j ;1 - muNniarT、]i[tsiLjdA<j ;( rofﻩﻩ每个列车车次都前移一位

 { ;tsoC、]1 + j[niarT、]i[tsiLjdA = tsoC、]j[niarT、]i[tsiLjdAﻩﻩ ﻩ

 ﻩ AdjList[i]、Train[j]、EndCity = AdjList[i]、Train[j + 1]、EndCity;

  ﻩ iarT、]i[tsiLjdA ,eman、]j[niarT、]i[tsiLjdA(ypcrtsﻩn[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;

 }ﻩﻩ }

 ;1 nruterﻩ} //==============================================Check Info================================================

 void Dijkstra_Output(int matx[Dij_MAXN][Dij_MAXN], int PreCity[Dij_MAXN], int p_end, int TravelType) {

 ;]NXAM_jiD[kcart tniﻩ ;0 = tsoc ,dne ,pmt ,nim ,k ,j ,0 = i tniﻩ j = p_end; track[i++] = j;

 while (PreCity[j] 〉= 0)

 {

  ;]j[]]j[ytiCerP[xtam =+ tsocﻩﻩ ﻩ track[i++] = j = PreCity[j];

 }

 printf("\nTrack Way:");

 if (!TravelType)

 {ﻩ ﻩ for (i——; i〉0; i--)

 {ﻩﻩ ﻩ

 ;)]]i[kcart[emaNytiC ,":s%n\”(ftnirpﻩﻩ;76723 = nim ;]1 - i[kcart = dneﻩ ﻩ

 )++k ;muNniarT、]]i[kcart[tsiLjdA〈k ;0 = k( rofﻩ

  if (AdjList[track[i]]、Train[k]、EndCity == end&&min〉AdjList[track[i]]、Train[k]、Cost)

 ﻩ

 {

 ﻩﻩ

 min = AdjList[track[i]]、Train[k]、Cost;

  ;k = pmtﻩ ﻩ

 }

 ﻩ

 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);

  }ﻩ }

 esleﻩ {ﻩ

 for (i——; i>0; i--)

 {ﻩﻩ ﻩ

 printf("\n%s:", CityName[track[i]]);

 ;76723 = nim ;]1 — i[kcart = dneﻩﻩﻩ)++k ;muNthgilF、]]i[kcart[tsiLjdA<k ;0 = k( rofﻩ ﻩ

 if (AdjList[track[i]]、Train[k]、EndCity == end&&min〉AdjList[track[i]]、Flight[k]、Cost)

  {ﻩﻩ

  ;tsoC、]k[thgilF、]]i[kcart[tsiLjdA = nimﻩﻩ ﻩ

 ;k = pmtﻩﻩ

  }

  ﻩ 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;

 //

 i ytiC fo yticerp eht,0>ytiCerPﻩ ;sop ,erp ,nim ,j ,i tniﻩ for (i = 0; i<CityNum; i++)

 {ﻩ ;1- = ]i[ytiCerPﻩﻩ }

 ;2- = ]trats_p[ytiCerPﻩ

  )1— == ]dne_p[ytiCerP( elihwﻩ {ﻩ

 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))

 {ﻩ ﻩ

 ;]j[]i[xtam = nim ;j = sop ;i = erpﻩﻩ

 }ﻩﻩ

 }ﻩ

 PreCity[pos] = pre;

 }

 Dijkstra_Output(matx, PreCity, p_end, TravelType); } int InitSysData() {

 ;pf* ELIFﻩ ;tsoc ,mun ,etunim ,ruoh ,j ,i tniﻩ char stmp1[MAX_STRING_NUM];

 ;]MUN_GNIRTS_XAM[2pmts rahcﻩ ;]MUN_GNIRTS_XAM[3pmts rahcﻩ fp = fopen(CityFile, ”r");

 )pf!( fiﻩ {ﻩ ﻩ printf("\nError:Cannot Open City File、、、\n");

  return —1;

  }

 fscanf(fp, ”%d”, &CityNum);

 )++i ;muNytiC<i ;0 = i( rofﻩ {

 ;)]i[emaNytiC& ,"s%" ,pf(fnacsfﻩﻩ

 ;i = ytic、]i[tsiLjdAﻩ ;0 = muNniarT、]i[tsiLjdAﻩﻩ ﻩ AdjList[i]、FlightNum = 0;

 }

 fclose(fp);

 fp = fopen(TrainFile, "r");

 )pf!( fiﻩ {ﻩ

 printf("\nError:Cannot Open Train File、、、\n");

 ﻩ return -1;

 }

 fscanf(fp, "%d", &num);

 for (i = 0; i〈num; i++)

 {ﻩ

 fscanf(fp, ”%s", &stmp1); //列车得车次

 站发始得车列// ;)2pmts& ,"s%" ,pf(fnacsfﻩﻩ

 fscanf(fp, "%s”, &stmp3); //列车得终点站

  ;)2pmts(ytiCkeeS = jﻩtiCkeeS = ytiCdnE、]muNniarT、]j[tsiLjdA[niarT、]j[tsiLjdAﻩﻩy(stmp3); //将列车得车次、始发站、终点站、出发时间、到达时间读出

  ,eman、]muNniarT、]j[tsiLjdA[niarT、]j[tsiLjdA(ypcrtsﻩstmp1);

  fscanf(fp, "%d:%d", &hour, &minute);

  ﻩ AdjList[j]、Train[AdjList[j]、TrainNum]、StartTime = hour * 60 + minute;

 ;)etunim& ,ruoh& ,”d%:d%” ,pf(fnacsfﻩﻩ 06 * ruoh = emiTpotS、]muNniarT、]j[tsiLjdA[niarT、]j[tsiLjdAﻩﻩ+ minute;

  fscanf(fp, ”%d", &cost);

  AdjList[j]、Train[AdjList[j]、TrainNum]、Cost = cost;

  AdjList[j]、TrainNum++;

 }ﻩ ;)pf(esolcfﻩ ;)"r” ,eliFthgilF(nepof = pfﻩ )pf!( fiﻩ {

 ﻩ printf("\nError:Cannot Open Flight File、、、\n");

 ﻩ return -1;

 }ﻩ fscanf(fp, ”%d”, &num);

 )++i ;mun〈i ;0 = i( rofﻩ {ﻩ

 fscanf(fp, ”%s”, &stmp1); //飞机得车次

 站发始得机飞// ;)2pmts& ,"s%” ,pf(fnacsfﻩﻩ

 站点终得机飞// ;)3pmts& ,”s%" ,pf(fnacsfﻩ

 j = SeekCity(stmp2); eeS = ytiCdnE、]muNthgilF、]j[tsiLjdA[thgilF、]j[tsiLjdAﻩﻩkCity(stmp3); mts ,eman、]muNthgilF、]j[tsiLjdA[thgilF、]j[tsiLjdA(ypcrtsﻩﻩp1);

 ;)etunim& ,ruoh& ,”d%:d%" ,pf(fnacsfﻩﻩ

 * ruoh = emiTtratS、]muNthgilF、]j[tsiLjdA[thgilF、]j[tsiLjdAﻩ60 + minute;

  ;)etunim& ,ruoh& ,"d%:d%" ,pf(fnacsfﻩ ﻩ AdjList[j]、Flight[AdjList[j]、FlightNum]、StopTime = hour * 60 + minute;

  fscanf(fp, "%d", &cost);

  AdjList[j]、Flight[AdjList[j]、FlightNum]、Cost = cost;

  AdjList[j]、FlightNum++;

 }

 fclose(fp); return 1; } int SearchMinTime(CityType City, CityType EndCity, int CurTime, int curPathNo, int TravelType) { //CityType 就是一种短整形函数,SearchMinTime共有5个参数

 ;i tniﻩ if (City == EndCity)

 {ﻩ

 if (MinTime>CurTime — StartTime)

 {ﻩﻩ

 ﻩ for (i = 0; i <= curPathNo; i++)

 {ﻩ ﻩ;ytiC、]i[htaP = ytiC、]i[htaPniMﻩ;oNarT、]i[htaP = oNarT、]i[htaPniMﻩﻩ ﻩﻩ

 ;oNhtaPruc = htaPrucﻩ

  }ﻩﻩ;emiTtratS - emiTruC = emiTniMﻩ ﻩ }

 }

 else

  {

  ;++oNhtaPrucﻩ

 ;ytiC = ytiC、]oNhtaPruc[htaPﻩ

 )epyTlevarT!( fiﻩ

 {

 ﻩ

 )++i ;muNniarT、]ytiC[tsiLjdA<i ;0 = i( rofﻩ ﻩ

 {

  % emiTruC( => emiTtratS、]i[niarT、]ytiC[tsiLjdA(( fiﻩ1440))

 && (AdjList[City]、Train[i]、StopTime + (CurTime / 1440)

 * 1440 — StartTime<MinTime))

  ﻩ

 {ﻩ

 ﻩ

 ;i = oNarT、]oNhtaPruc[htaPﻩﻩ ﻩ ﻩdnE ,ytiCdnE、]i[niarT、]ytiC[tsiLjdA(emiTniMhcraeSﻩCity, AdjList[City]、Train[i]、StopTime + (CurTime / 1440)

 * 1440, curPathNo, TravelType);

 ﻩ

  }

 % emiTruC(〈emiTtratS、]i[niarT、]ytiC[tsiLjdA(( fiﻩﻩ1440)) && (AdjList[City]、Train[i]、StopTime + (CurTime / 1440)

 * 1440 — StartTime〈MinTime))

  ﻩ

 {

 ﻩ

  ;i = oNarT、]oNhtaPruc[htaPﻩﻩ

  ﻩ

 SearchMinTime(AdjList[City]、Train[i]、EndCity, EndCity, AdjList[City]、Train[i]、StopTime + (CurTime / 1440 + 1)

 * 1440, curPathNo, TravelType);

 ﻩﻩ

 }ﻩ

 ﻩ }

  }ﻩ

 else

 {ﻩﻩ

  ﻩﻩ for (i = 0; i<AdjList[City]、FlightNum; i++)

 ﻩ

 {

  ﻩ

 if ((AdjList[City]、Flight[i]、StartTime >= CurTime) && (AdjList[City]、Flight[i]、StopTime + (CurTime / 1440) * 1440 — StartTime<MinTime))

 ﻩ

  {ﻩ

 ﻩ

 ;i = oNarT、]oNhtaPruc[htaPﻩﻩ ﻩﻩ

  SearchMinTime(AdjList[City]、Flight[i]、EndCity, EndCity, AdjList[City]、Flight[i]、StopTime + (CurTime / 1440)

 * 1440, curPathNo, TravelType);

 ﻩ

  }ﻩ ﻩﻩ

 if ((AdjList[City]、Flight[i]、StartTime<CurTime) && (AdjList[City]、Flight[i]、StopTime + (CurTime / 1440)

 * 1440 — StartTime<MinTime))

 ﻩ

  {

 ﻩ

  ;i = oNarT、]oNhtaPruc[htaPﻩﻩ

 ﻩ,ytiCdnE、]i[thgilF、]ytiC[tsiLjdA(emiTniMhcraeSﻩEndCity, AdjList[City]、Flight[i]、StopTime + (CurTime / 1440 + 1) * 1440, curPathNo, TravelType);

 ﻩﻩ

 }ﻩ ﻩ

 }

 }ﻩﻩ }

 return 1; } int CalcMinTime(int StartCity, int EndCity, int TravelType)

 {

 int i;

 ;0 = htaPruc ;76723 = emiTniMﻩ

  Path[0]、City = StartCity;

 )epyTlevarT!( fiﻩ {ﻩ

 )++i ;muNniarT、]ytiCtratS[tsiLjdA<i ;0 = i( rofﻩ {ﻩﻩ

 ﻩ Path[0]、TraNo = i;

  ﻩ StartTime = AdjList[StartCity]、Train[i]、StartTime;

 ﻩ A ,ytiCdnE ,ytiCdnE、]i[niarT、]ytiCtratS[tsiLjdA(emiTniMhcraeSﻩdjList[StartCity]、Train[i]、StopTime, 0, TravelType);

 }ﻩﻩ }

 else

 {

  for (i = 0; i<AdjList[StartCity]、FlightNum; i++)

  {ﻩ ﻩﻩ Path[0]、TraNo = i;

 StartTime = AdjList[StartCity]、Flight[i]、StartTime;

 ,ytiCdnE、]i[thgilF、]ytiCtratS[tsiLjdA(emiTniMhcraeSﻩEndCity, AdjList[StartCity]、Flight[i]、StopTime, 0, TravelType);

  }ﻩ }

 if (MinTime == 32767)

 {ﻩ ;)"!noitanitsed taht ot ssecca oNn\"(ftnirpﻩﻩ ﻩ return 0;

 }

 // if (!TravelType)

  // StartTime=AdjList[StartCity]、Train[MinPath[0]、TraNo]、StartTime;

  //

 esleﻩ // StartTime=AdjList[StartCity]、Flight[MinPath[0]、TraNo]、StartTime;

  ;)"n\:htaPn\"(ftnirpﻩ )++i ;htaPruc =< i ;0 = i( rofﻩ {

 )epyTlevarT!( fiﻩﻩﻩPniM[tsiLjdA ,]ytiC、]i[htaPniM[emaNytiC ,"s% :

 s%"(ftnirpﻩath[i]、City]、Train[MinPath[i]、TraNo]、name);

  esleﻩ ﻩ iM[tsiLjdA ,]ytiC、]i[htaPniM[emaNytiC ,”s% :

 s%”(ftnirpﻩnPath[i]、City]、Flight[MinPath[i]、TraNo]、name);

  printf(" %2d:%2d—%2d:%2d\n”, AdjList[MinPath[i]、City]、Train[MinPath[i]、TraNo]、StartTime / 60, AdjList [MinPath[i]、City]、Train[MinPath[i]、TraNo]、StartTime % 60, AdjList[MinPath[i]、City]、Train[MinPath[i]、TraNo]、StopTime / 60, AdjList[MinPath[i]、City]、Train[MinPath[i]、TraNo]、StopTime % 60);

 }

 ;)]ytiCdnE[emaNytiC ,"!NOITANITSED :s%”(ftnirpﻩ % emiTniM ,06 / emiTniM ,"d2%:d2% :tsoC emiTn\"(ftnirpﻩ60);

 return 1; } int CalcMinCost(int StartCity, int EndCity, int TravelType) {

  ;]NXAM_jiD[]NXAM_jiD[am tniﻩ ;dne ,nim ,j ,i tniﻩ for (i = 0; i〈CityNum; i++)

 for (j = 0; j<CityNum; j++)

 ;1— = ]j[]i[amﻩﻩ if (TravelType == 0)

 {

  )++i ;muNytiC〈i ;0 = i( rofﻩ

 { ﻩ;0 = j ;76723 = nimﻩ

  )muNniarT、]i[tsiLjdA<j( elihwﻩ ﻩﻩ {

 ;76723 = nimﻩﻩ;ytiCdnE、]j[niarT、]i[tsiLjdA = dneﻩﻩ

 while (end == AdjList[i]、Train[j]、EndCity&&j<AdjList[i]、TrainNum)

 ﻩﻩ

 {

  ﻩ if (AdjList[i]、Train[j]、Cost<min)

  ﻩ

  {

 ﻩ ;tsoC、]j[niarT、]i[tsiLjdA = nimﻩﻩ ﻩ

 ﻩ

 }ﻩ ﻩ

  ﻩ j++;

  ﻩ

 }ﻩ

  ﻩ ma[i][end] = min;

 }ﻩ

 }

 }ﻩ esleﻩ {ﻩ

 )++i ;muNytiC<i ;0 = i( rofﻩ

 {ﻩ ﻩ

 min = 32767; j = 0;

 while (j<AdjList[i]、FlightNum)

 {

  min = 32767;

 ﻩ

  ;ytiCdnE、]j[thgilF、]i[tsiLjdA = dneﻩ

  ﻩ while (end == AdjList[i]、Flight[j]、EndCity&&j〈AdjList[i]、FlightNum)

 ﻩ {

  ﻩ)nim<tsoC、]j[thgilF、]i[tsiLjdA( fiﻩ

  ﻩﻩ {

 ﻩ

  min = AdjList[i]、Flight[j]、Cost;

  ﻩﻩﻩ }

  ﻩ

  j++;

 ﻩ

 }ﻩﻩ ﻩ

  ma[i][end] = min;

 }ﻩﻩﻩ ﻩ }

 }

 Dijkstra(ma, StartCity, EndCity, TravelType);

 return 1; } //========================================Main ()=================================================

 int main() {

 名市城// ;]MUN_GNIRTS_XAM[eman rahcﻩ 站发始// ;]MUN_GNIRTS_XAM[ytic_s rahcﻩ

  char e_city[MAX_STRING_NUM]; //终点站

 ;tsoc ,dnam tniﻩ int startcity, endcity, traveltype;

 int s_hour, s_minute, e_hour, e_minute;

 )1( elihwﻩ {

 息信权版//;)(thgiRypoCﻩﻩ 单菜主// ;)(uneMwohSﻩﻩ

 scanf("%d", &mand);//输入选择

  ﻩ switch (mand)

 //对菜单得内容进行选择

 ﻩ {

 ﻩ case 0:

 //退出

  ;0 nruterﻩ ﻩ case 1: //添加城市

  ﻩ

 InitSysData(); //读出文档中已存得信息

 ﻩ

 printf(”\n 输入城市名:"); ﻩ名市城入输// ;)eman& ,"s%"(fnacsﻩﻩ中组数到入插市城将// ;)eman(ytiCtresnIﻩ ﻩﻩ SaveSysInfo(); //把城市得信息写入文档中

  ﻩ printf("System Info Save OK!\n");

  ;kaerbﻩﻩ ﻩ case 2:

 //删除城市

  InitSysData(); //读出文档中已有得信息

 ﻩ

 printf(”\n 输入城市名:”);

 ;)eman& ,”s%"(fnacsﻩ ﻩﻩ DelCity(name); //将城市删除

 中档文入写息信得过理处将// ;)(ofnIsySevaSﻩ

  ;)"n\!KO evaS ofnI metsyS"(ftnirpﻩ ﻩ

 break;

 线路加添// :3 esacﻩﻩ

  ;)(ataDsyStinIﻩﻩ;)":名市城站始起”(ftnirpﻩﻩ站始起// ;)ytic_s& ,"s%”(fnacsﻩ

 ﻩ printf(”终点站城市名:”);

 ﻩﻩ scanf(”%s", &e_city); //终点站

  ﻩ printf("类型(列车 0,航班1):”);

 ﻩ

 scanf("%d", &traveltype);

 ﻩﻩ printf("输入列车/飞机班次:");

 ﻩ

 ;)eman& ,”s%"(fnacsﻩ ﻩﻩ printf("起始时刻(00:00,24 小时制):");

  ﻩ scanf(”%2d:%2d", &s_hour, &s_minute);

 ﻩﻩ printf("到达时刻(00:00,24 小时制):"); ﻩ;)etunim_e& ,ruoh_e& ,"d2%:d2%"(fnacsﻩ ﻩ

 ;)”:价票"(ftnirpﻩ ﻩﻩ scanf("%d", &cost);

  )epytlevart( fiﻩﻩ

  {

 ﻩ im_s + 06 * ruoh_s ,ytic_e ,ytic_s ,eman(thgilFtresnIﻩﻩnute, e_hour * 60 + e_minute, cost);

 }ﻩﻩﻩ

 ﻩ else

 ﻩ

 {

 ruoh_e ,etunim_s + 06 * ruoh_s ,ytic_e ,ytic_s ,eman(niarTtresnIﻩﻩ* 60 + e_minute, cost);

  ﻩ }

  ;)(ofnIsySevaSﻩﻩ ﻩ

 printf(”System Info Save OK!\n"); ﻩ;kaerbﻩ

  ﻩ case 4: //删除路线

 ﻩ;)(ataDsyStinIﻩ ﻩ

 ;)":次班入输"(ftnirpﻩ ﻩﻩ scanf(”%s", &name);

 ﻩ

 DelPath(name); //将路线进行删除

  ;)(ofnIsySevaSﻩﻩ ﻩ

 ;)"n\!KO evaS ofnI metsyS"(ftnirpﻩ ﻩ

 ;kaerbﻩ ﻩ case 5:

 //最小耗费

  InitSysData(); ﻩ;)”:市城始起n\"(ftnirpﻩ ﻩﻩ scanf("%s”, &name);

 ;)eman(ytiCkeeS = ytictratsﻩ ﻩ

 )0<ytictrats( fiﻩ

 ﻩ {

 ﻩ

 ﻩ printf("Error City Name:No such city!\n”); ;kaerbﻩﻩ

 ﻩ }

 ﻩ

 printf("终点城市:”);

 ﻩﻩ scanf("%s”, &name);

  ﻩ endcity = SeekCity(name);

 ﻩ

 if (endcity<0)

  {ﻩﻩ

  ;)"n\!ytic hcus oN:emaN ytiC rorrE”(ftnirpﻩﻩ ﻩ

  break;

 }ﻩﻩﻩ

 ﻩ printf("类型(列车 0,航班 1) :");

 ﻩﻩ scanf("%d”, &traveltype);

 if (traveltype != 0 && traveltype != 1)

  ﻩﻩ {

 ﻩﻩ

 ;)”!tupnI rorrE"(ftnirpﻩ ﻩﻩ

 ;kaerbﻩ ﻩ

 }

  费花得少最算计// ;)epytlevart ,yticdne ,ytictrats(tsoCniMclaCﻩﻩ

 ﻩ printf(”\n”);

 ﻩ

 ;kaerbﻩ

  线路间时短最// :6 esacﻩ ﻩﻩ InitSysData();

  ﻩ printf("\n 起始城市:");

  ;)eman& ,”s%”(fnacsﻩﻩ

 ﻩ startcity = SeekCity(name);

 ﻩ

 if (startcity〈0)

 {

 ﻩ;)”n\!ytic hcus oN:emaN ytiC rorrE”(ftnirpﻩ ﻩ

  ;kaerbﻩ ﻩ

 }ﻩ

  ;)":市城点终"(ftnirpﻩ

  ;)eman& ,"s%"(fnacsﻩ ﻩ

 endcity = SeekCity(name);

  )0<yticdne( fiﻩﻩ

 {ﻩﻩ

  ﻩ printf("Error City Name:No such city!\n”);

 ﻩ;kaerbﻩ

  }

  ;)”:

 )1 班航,0 车列(型类"(ftnirpﻩﻩ ﻩ

 ;)epytlevart& ,"d%"(fnacsﻩ

  )1 =!

 epytlevart && 0 =!

 epytlevart( fiﻩ ﻩ

 {ﻩ

  ﻩ printf("Error Input!");

  ;kaerbﻩ ﻩﻩ }

 ﻩﻩ CalcMinTime(startcity, endcity, traveltype); //计算最少得时间

 ﻩ

 printf("\n");

 ﻩﻩ break;

  case 7:system("cls");//清除屏幕

  }ﻩ }ﻩ}


推荐访问:数据结构 课程设计 交通

热门排行

大学生对新时代的理解500字9篇

大学生对新时代的理解500字9篇大学生对新时代的理解500字篇1一代人有一代人的长征,代人有一代人的担当。今天,新时代青年面临着难得的建功立业的人生际遇,也

领导班子运行情况报告范文6篇

领导班子运行情况报告范文6篇领导班子运行情况报告范文篇1对x外墙、屋檐瓷砖脱落或渗水的地方进行了全面排查与修复,保障了小区居民的正常生活秩序。下面是天涯涛源

全面从严治党和党风廉政建设5篇

全面从严治党和党风廉政建设5篇全面从严治党和党风廉政建设篇1按照局党组关于全面从严治党和党风廉政建设工作的各项要求,严格执行“三严三实”各项要求,坚决从点滴

组织生活会存在问题原因分析及整改措施10篇

组织生活会存在问题原因分析及整改措施10篇组织生活会存在问题原因分析及整改措施篇1根据区纪委、区委组织部相关文件精神,区委党校组织召开2017年度机关支部组

“听党话、感党恩、跟党走”宣讲素材7篇

“听党话、感党恩、跟党走”宣讲素材7篇“听党话、感党恩、跟党走”宣讲素材篇1根据县委宣传部《关于在全县开展&ldquo;学习贯彻省委十三届七次全会精神、奋力

2022保密工作会议记录内容5篇

2022保密工作会议记录内容5篇2022保密工作会议记录内容篇1本次培训生动形象地介绍了与日常工作生活息息相关的窃密技术和泄密案例,给人以深深的震撼及反思。

纪委落实全面从严治党监督责任情况报告5篇

纪委落实全面从严治党监督责任情况报告5篇纪委落实全面从严治党监督责任情况报告篇1知民意、解民忧、帮民难、促民富、得民心。下面是众鑫文档网小编为您推荐县纪委书

新时期产业工人队伍建设改革工作总结8篇

新时期产业工人队伍建设改革工作总结8篇新时期产业工人队伍建设改革工作总结篇1在全院深入开展干部作风整顿活动,提出以“四个着力”深化整治措施,力促落实整改,筑

2020纪检干部警示教育心得感悟【5篇】

2020纪检干部警示教育心得感悟五篇  严以修身、严以用权、严以律己,谋事要实、创业要实、做人要实&

2023年悲观与乐观议论文五篇(范文推荐)

悲观与乐观议论文1  人生来有就不同种的心态,主观上客观上的都是不同的感受。遇到问题时所产生的观念也不同。任何苦难都是在所难免的,最重要的是看自己怎么...