欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      火車(chē)票管理系統(tǒng)可行性報(bào)告(本站推薦)

      時(shí)間:2019-05-14 03:36:04下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《火車(chē)票管理系統(tǒng)可行性報(bào)告(本站推薦)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《火車(chē)票管理系統(tǒng)可行性報(bào)告(本站推薦)》。

      第一篇:火車(chē)票管理系統(tǒng)可行性報(bào)告(本站推薦)

      火車(chē)票管理系統(tǒng)可行性報(bào)告

      一.引言

      學(xué)習(xí)《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程必須重視實(shí)踐環(huán)節(jié),即通過(guò)C#結(jié)合實(shí)際需求開(kāi)發(fā)應(yīng)用程序。本次課程實(shí)習(xí)選擇使用C#開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,它能將所學(xué)的C#整合SQL Server數(shù)據(jù)庫(kù)知識(shí),形成與應(yīng)實(shí)際緊密結(jié)合的連貫整體,進(jìn)一步加深學(xué)生對(duì)C#基礎(chǔ)語(yǔ)法的理解,加強(qiáng)對(duì)WinForms編程的認(rèn)識(shí),提高應(yīng)用ADO.NET這一.NET中數(shù)據(jù)庫(kù)驅(qū)動(dòng)解決方案核心技術(shù)的能力,為將來(lái)的軟件設(shè)計(jì)工作打下一定的基礎(chǔ)。

      該課程的實(shí)習(xí)主要是鍛煉學(xué)生的實(shí)際動(dòng)手與操作的能力,充分實(shí)現(xiàn)理論與實(shí)踐相結(jié)合,從而培養(yǎng)出優(yōu)秀的學(xué)生!

      1.摘要

      系統(tǒng)名稱(chēng): 火車(chē)票管理系統(tǒng)

      系統(tǒng)功能: 實(shí)現(xiàn)管理員對(duì)系統(tǒng)的增刪改查等一系列的功能,讓客戶(hù)可以訂票、退票等,該系統(tǒng)只要實(shí)現(xiàn)簡(jiǎn)單的操作功能。

      2.背景

      揚(yáng)州環(huán)境資源職業(yè)技術(shù)學(xué)院1012網(wǎng)絡(luò)班小組成員在C#面向?qū)ο蟪绦蛟O(shè)計(jì)該課程的實(shí)訓(xùn)周內(nèi)進(jìn)行的課程實(shí)訓(xùn),借此提高學(xué)生的動(dòng)手能力,理論與實(shí)踐相結(jié)合的能力;該系統(tǒng)主要是在Visual Studio C# 2005的基礎(chǔ)上與SQL數(shù)據(jù)庫(kù)相結(jié)合而成的面向?qū)ο蟮某绦蛟O(shè)計(jì)系統(tǒng)。

      二.系統(tǒng)開(kāi)發(fā)的背景、必要性及意義

      1.現(xiàn)行系統(tǒng)調(diào)查研究

      (1)組織機(jī)構(gòu):揚(yáng)州環(huán)境資源職業(yè)技術(shù)學(xué)院 1012網(wǎng)絡(luò)班;指導(dǎo)老師:陳彥(2)實(shí)訓(xùn)時(shí)間:2011年12月26日至2012年1月6日

      (3)小組成員:徐濤平(組長(zhǎng))、,孫淑茵、孫垚垚、,夏盼盼、,柏銘慧、,華飛龍、,陳龍、,顧漢明

      (4)成員任務(wù):徐濤平、,孫垚垚、,夏盼盼、,柏銘慧、,華飛龍、,陳龍、,顧漢明負(fù)責(zé)系統(tǒng)相關(guān)文檔的編寫(xiě);,柏銘慧負(fù)責(zé)前期的數(shù)據(jù)庫(kù)設(shè)計(jì);孫淑茵負(fù)責(zé)設(shè)計(jì)后期與系統(tǒng)相連接的數(shù)據(jù)庫(kù)DB的設(shè)計(jì),并負(fù)責(zé)系統(tǒng)的編碼編寫(xiě)。

      (5)計(jì)算機(jī)應(yīng)用情況:臺(tái)式機(jī)裝有Visual Studio C# 2005和SQL數(shù)據(jù)庫(kù) 2.需求調(diào)查和分析

      對(duì)于現(xiàn)在網(wǎng)絡(luò)的迅速發(fā)展,人們?cè)絹?lái)越關(guān)注網(wǎng)絡(luò)。人們?cè)诰W(wǎng)絡(luò)上進(jìn)行交易,購(gòu)物,訂餐等。在網(wǎng)上進(jìn)行訂票也越來(lái)越受人們的歡迎。鑒于這種情況,本人孫淑茵想要開(kāi)發(fā)一個(gè)類(lèi)似的系統(tǒng),故而有了現(xiàn)在的火車(chē)票管理系統(tǒng)。

      該系統(tǒng)由于是本人的初次嘗試開(kāi)發(fā),所以功能比較的簡(jiǎn)單,還存在不足之處。

      三.可行性分析

      1.系統(tǒng)運(yùn)行可行性分析 該系統(tǒng)只需要一臺(tái)裝有Visual Studio C# 2005和SQL數(shù)據(jù)庫(kù)的的電腦就可以進(jìn)行運(yùn)行,對(duì)于企業(yè)來(lái)說(shuō),這是最簡(jiǎn)單的、最實(shí)用的系統(tǒng)了;對(duì)于人員來(lái)說(shuō),不需要花費(fèi)大量的金錢(qián)進(jìn)行人員的培訓(xùn),只需要招聘一個(gè)相關(guān)專(zhuān)業(yè)的計(jì)算機(jī)人員,就可以對(duì)系統(tǒng)進(jìn)行操作。2.技術(shù)可行性

      火車(chē)票管理系統(tǒng)功能簡(jiǎn)單,對(duì)人員要求以及技術(shù)要求不高,在這方面,只需要一個(gè)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的人員就可以操作系統(tǒng),在技術(shù)上完全可以進(jìn)行。3.經(jīng)濟(jì)可行性

      在經(jīng)濟(jì)上,不需要額外的費(fèi)用,只需要付費(fèi)開(kāi)發(fā)人員即可,可以說(shuō)是一勞永逸,在后期,不需要企業(yè)花費(fèi)費(fèi)用,只需要技術(shù)人員進(jìn)行定期的維護(hù)即可,在經(jīng)濟(jì)上完全可行。

      四.系統(tǒng)功能簡(jiǎn)單介紹

      1.數(shù)據(jù)庫(kù)

      火車(chē)票管理系統(tǒng)連接的數(shù)據(jù)庫(kù)主要是SQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的名稱(chēng)為DB.mdb,它包括了Stype表、Train表和UserInfo表三張表,由于時(shí)間匆忙,所以只有這三張表,進(jìn)而組成與系統(tǒng)相連接的數(shù)據(jù)庫(kù)。詳見(jiàn)下圖4.1

      圖4.1 2.系統(tǒng)功能介紹

      火車(chē)票管理系統(tǒng)功能比較簡(jiǎn)單,管理員可以對(duì)系統(tǒng)進(jìn)行增刪改查,而一般的瀏覽者就可以對(duì)系統(tǒng)進(jìn)行相應(yīng)的查票、訂票、退票操作,而不能像管理員那樣對(duì)系統(tǒng)進(jìn)行增刪改查等操作,從而保證了系統(tǒng)的安全性。下圖是系統(tǒng)的相關(guān)截圖,如圖4.2、4.3所示:

      圖4.2

      圖4.3 五.結(jié)論

      在2011年12月26日至2012年1月6日實(shí)訓(xùn)期間,小組成員團(tuán)結(jié)協(xié)作,共同努力,完成了火車(chē)票管理系統(tǒng)的開(kāi)發(fā),在這個(gè)過(guò)程中每個(gè)成員的努力都市值得褒獎(jiǎng)的,尤其是負(fù)責(zé)代碼編寫(xiě)的孫淑茵為我們的系統(tǒng)完成與完善更是值得獎(jiǎng)勵(lì)的。

      火車(chē)票管理系統(tǒng)功能簡(jiǎn)單,實(shí)現(xiàn)方便,但也耗費(fèi)了人力物力與心力,能在短時(shí)間內(nèi)開(kāi)發(fā)出這樣一個(gè)的系統(tǒng),我們的努力是值得肯定的,但是這個(gè)系統(tǒng)還存在著不足之處,有望在以后的日子里,對(duì)系統(tǒng)進(jìn)行改善和維護(hù)。

      六.說(shuō)明

      在這里,對(duì)相關(guān)的問(wèn)題做一些說(shuō)明:

      1.我們是軟件技術(shù)基礎(chǔ)實(shí)訓(xùn)和C#課程實(shí)訓(xùn)前后進(jìn)行的,軟件技術(shù)基礎(chǔ)實(shí)訓(xùn)在前,分組也是在軟件技術(shù)基礎(chǔ)實(shí)訓(xùn)期間分的,相關(guān)的文檔也是在此期間完成的,代碼也是在此期間編寫(xiě)完成,只是比較不完善,而且在軟件技術(shù)基礎(chǔ)實(shí)訓(xùn)期間小組成員負(fù)責(zé)前期數(shù)據(jù)庫(kù)設(shè)計(jì)出的數(shù)據(jù)庫(kù)并不能用,都是中文,并且表與表之間沒(méi)有相關(guān)的聯(lián)系,所以負(fù)責(zé)代碼編寫(xiě)的孫淑茵就自己設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù)DB。

      2.在后來(lái)的C#實(shí)訓(xùn)期間,小組成員孫淑茵自己對(duì)軟件技術(shù)基礎(chǔ)實(shí)訓(xùn)期間不完善的火車(chē)票管理系統(tǒng)進(jìn)行了改進(jìn),在陳彥老師的指導(dǎo)下,才有了后來(lái)的完善的火車(chē)票管理系統(tǒng),可以說(shuō)這個(gè)火車(chē)票管理系統(tǒng)是孫淑茵同學(xué)的私有產(chǎn)物,與小組其他成員關(guān)系不大,在此說(shuō)明一下。

      第二篇:火車(chē)票管理系統(tǒng)

      火車(chē)票管理系統(tǒng)一、課題內(nèi)容和要求

      改系統(tǒng)要求實(shí)現(xiàn)一個(gè)簡(jiǎn)單、實(shí)用的火車(chē)票管理程序,主要功能包括火車(chē)票數(shù)據(jù)的錄入、查找、刪除、顯示、售票、退票等。所有火車(chē)票數(shù)據(jù)都要利用文件系統(tǒng)保存,以備系統(tǒng)下次運(yùn)行時(shí)使用。通過(guò)此課題,熟練掌握文件、數(shù)組、指針的各種操作,以及一些基本算法思想的應(yīng)用。

      二、需求分析

      功能框架圖:(見(jiàn)圖2-1)

      火車(chē)票管理系統(tǒng)

      錄入

      查找

      刪除

      排序

      售票

      退票

      保存

      圖2-1。

      1.新增火車(chē)票數(shù)據(jù)記錄:預(yù)先建立一個(gè)txt文檔,存入數(shù)據(jù),然后在程序中讀取文檔。

      2.查找火車(chē)票數(shù)據(jù)(可按車(chē)次,發(fā)車(chē)時(shí)間、起點(diǎn)站、終點(diǎn)站等查找)。

      3.刪除火車(chē)票數(shù)據(jù)記錄(先查找,再刪除。若查找出多條記錄,則進(jìn)一步提示用戶(hù)選擇記錄的車(chē)次,再刪除)。

      4.對(duì)火車(chē)票排序(可按車(chē)次、發(fā)車(chē)時(shí)間、起點(diǎn)站、終點(diǎn)站等排序。)。

      5.顯示當(dāng)前所有火車(chē)票信息列表。

      6.售票(先查找,當(dāng)確定車(chē)次后,根據(jù)售票張數(shù)對(duì)該車(chē)次的已售票人數(shù)進(jìn)行修改)。

      7.退票(售票的逆處理,過(guò)程與售票類(lèi)似)。

      8.保存火車(chē)票數(shù)據(jù)到文件中。

      9.從文件中讀入火車(chē)票數(shù)據(jù)。

      三、概要設(shè)計(jì)

      1)主要結(jié)構(gòu)體:

      struct

      time

      {

      int

      hour;

      int

      minutes;

      };

      struct

      ticket

      {

      char

      SerialNumber[10];

      struct

      time

      SetOut;

      char

      DeparturePoint[MAX];

      char

      TerminalPoint[MAX];

      float

      LastTime;

      int

      FixNumber;

      int

      FixedNumber;

      }train[N];

      2)主要函數(shù)流程圖:

      l

      載入函數(shù):用于從文本中載入信息。(見(jiàn)圖3-1)

      打開(kāi)文本

      能否打開(kāi)

      讀入數(shù)據(jù)

      是否結(jié)束

      結(jié)束

      開(kāi)始

      開(kāi)始

      讀入車(chē)次

      是否符合輸出信息

      結(jié)束

      圖3-2

      圖3-1

      l

      查找函數(shù):利用輸入的車(chē)次或站點(diǎn)進(jìn)行順序查找并將找到的信息輸出。(見(jiàn)圖3-2)

      l

      刪除函數(shù):先查找出要?jiǎng)h除的信息再刪除。(見(jiàn)圖3-3)

      無(wú)法訂票

      人數(shù)加一

      是否超載

      圖3-4

      結(jié)束

      開(kāi)始

      讀入車(chē)次

      是否誤點(diǎn)

      圖3-3

      是否符合讀入車(chē)次

      開(kāi)始

      記錄下標(biāo)i

      i=i+1,i++

      i<車(chē)次總數(shù)-1

      結(jié)束

      l

      售票退票函數(shù):先判斷該車(chē)是否已發(fā)車(chē),若未發(fā)車(chē)且人未滿(mǎn)則訂票成功,否則無(wú)法訂票退票。(見(jiàn)圖3-4)

      l

      備份文件函數(shù):將文件內(nèi)容存儲(chǔ)到用戶(hù)給定的地址中(見(jiàn)圖3—5)

      圖3-5

      l

      排序函數(shù)(見(jiàn)圖3-6)

      圖3-6

      四、源程序代碼

      #include

      #include

      #include

      #include

      #include

      #include

      const

      int

      MAX=20;

      const

      int

      N=50;

      const

      int

      MAXFILENAME=100;

      enum

      {FALSE,TRUE};

      struct

      time

      {

      int

      hour;

      int

      minutes;

      };

      struct

      ticket

      {

      char

      SerialNumber[10];

      struct

      time

      SetOut;

      char

      DeparturePoint[MAX];

      char

      TerminalPoint[MAX];

      float

      LastTime;

      int

      FixNumber;

      int

      FixedNumber;

      }train[N];

      int

      RecordNumber;

      int

      FLAG=FALSE;

      /**********************************************/

      int

      ShowMessage(void);

      //載入原始數(shù)據(jù)

      void

      mainmenu(void);

      //主菜單

      void

      InsertMessage(void);

      //錄入班次信息

      void

      SearchMenu(void);

      //查詢(xún)路線子菜單

      void

      SearchByNumber(void);

      //按班次號(hào)查詢(xún)

      void

      SearchByAddress(void);

      //按終點(diǎn)站查詢(xún)

      void

      cancle(void);//刪除數(shù)據(jù)

      void

      selection(ticket

      *pa,int

      n);//排序

      void

      TicketManagement(void);

      //車(chē)票售出與退回

      void

      TicketOrder(void);

      //售票

      void

      TicketDelete(void);

      //退票

      void

      exit(void);

      //退出該系統(tǒng)

      void

      SaveRecord(ticket

      x);

      //儲(chǔ)存信息到文件中

      /********************************************/

      int

      main(void)

      {

      do{

      mainmenu();

      }while(FLAG==FALSE);

      return

      0;

      }

      void

      mainmenu(void)

      {

      system(“mode

      con:

      cols=140

      lines=130“);

      char

      functionNumber;

      printf(“

      火車(chē)票管理系統(tǒng)\n\n“);

      printf(“============================================================================\n“);

      printf(“

      1.錄入班次信息\t\n“);

      printf(“

      2.顯示所有車(chē)票信息列表\t\n“);

      printf(“

      3.查詢(xún)火車(chē)票數(shù)據(jù)\t\n“);

      printf(“

      4.刪除火車(chē)票數(shù)據(jù)記錄\t\n“);

      printf(“

      5.按行車(chē)時(shí)間排序\t\n“);

      printf(“

      6.售票與退票系統(tǒng)\t\n“);

      printf(“

      7.退出該系統(tǒng)\t\n“);

      printf(“============================================================================\n“);

      printf(“請(qǐng)選擇你所需要的功能:“);

      scanf(“%c“,&functionNumber);

      switch(functionNumber)

      {

      case

      '1':

      {

      InsertMessage();

      printf(“\n按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      }

      break;

      case

      '2':

      {

      RecordNumber=ShowMessage();

      printf(“\n按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      }

      break;

      case

      '3':

      {

      SearchMenu();

      printf(“\n按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      }

      break;

      case

      '4':

      {

      cancle();

      printf(“\n按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      }

      break;

      case

      '5':

      {

      selection(train,RecordNumber);

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      int

      i;

      for(i=0;i

      {

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      }

      printf(“\n按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      }

      break;

      case

      '6':

      {

      TicketManagement();

      getchar();

      getchar();

      }

      break;

      case

      '7':

      {

      int

      i;

      FLAG=TRUE;

      for(i=0;i

      {

      SaveRecord(*(train+i));

      }

      exit();

      }

      break;

      default:

      {

      printf(“輸入錯(cuò)誤,請(qǐng)確保你的輸入為1--7.\n“);

      printf(“按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      }

      }//switch

      ends

      FLAG=FALSE;

      }

      void

      InsertMessage(void)

      {

      FILE

      *fp;

      char

      filename[MAXFILENAME];

      int

      i;

      printf(“請(qǐng)輸入文件名或者文件路徑名:“);

      scanf(“%s“,filename);

      if((fp=fopen(filename,“r“))==NULL)

      {

      printf(“文件%s不可讀,請(qǐng)確認(rèn)文件%s存在或者文件路徑正確.\n\n“,filename,filename);

      mainmenu();

      }

      for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++)

      {

      fscanf(fp,“%s%d%d“,&train[i].SerialNumber,&train[i].SetOut.hour,&train[i].SetOut.minutes);

      fscanf(fp,“%s%s%f%d%d“,&train[i].DeparturePoint,&train[i].TerminalPoint,&train[i].LastTime,&train[i].FixNumber,&train[i].FixedNumber);

      }

      RecordNumber=i;

      /*******************************輸出更新后的訂票記錄************************************************************/

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      for(i=0;i

      {

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      }

      fclose(fp);

      }

      int

      ShowMessage(void)

      {

      int

      i;

      FILE

      *fp;

      if((fp=fopen(“add.txt“,“r“))==NULL)

      {

      printf(“讀取數(shù)據(jù)失敗,請(qǐng)檢查文件add.txt是否存在.\n“);

      exit(-1);

      }

      for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++)

      {

      fscanf(fp,“%s%d%d“,&train[i].SerialNumber,&train[i].SetOut.hour,&train[i].SetOut.minutes);

      fscanf(fp,“%s%s%f%d%d“,&train[i].DeparturePoint,&train[i].TerminalPoint,&train[i].LastTime,&train[i].FixNumber,&train[i].FixedNumber);

      }

      int

      count=i;

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      for(i=0;i

      {

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\t“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      printf(“\n“);

      }

      return

      count;

      }

      void

      SearchMenu(void)

      {

      system(“mode

      con:

      cols=140

      lines=130“);

      char

      functionNumber;

      printf(“

      查詢(xún)子菜單\n“);

      printf(“============================================================================\n“);

      printf(“

      1.按班次號(hào)查詢(xún)\t\n“);

      printf(“

      2.按終點(diǎn)站查詢(xún)\t\n“);

      printf(“

      3.返回主菜單\t\n“);

      printf(“============================================================================\n“);

      printf(“請(qǐng)選擇你所需要的功能:“);

      scanf(“%*c%c“,&functionNumber);

      switch(functionNumber)

      {

      case

      '1':SearchByNumber();break;

      case

      '2':SearchByAddress();break;

      case

      '3':

      getchar();

      mainmenu();

      break;

      default:

      printf(“輸入錯(cuò)誤,請(qǐng)確保你的輸入為1--3.\n“);

      printf(“按任意鍵回查詢(xún)子菜單......\n“);

      getchar();

      getchar();

      SearchMenu();

      }

      }

      void

      SearchByNumber(void)

      {

      int

      i;

      char

      Number[MAX];

      printf(“請(qǐng)輸入班次號(hào):“);

      scanf(“%s“,&Number);

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      for(i=0;i

      {

      //對(duì)比終點(diǎn)站記錄,找到并輸出

      if((strcmp(Number,train[i].SerialNumber))==0)

      {

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      }

      }

      }

      void

      SearchByAddress(void)

      {

      int

      i;

      char

      Address[MAX];

      printf(“請(qǐng)輸入終點(diǎn)站的名稱(chēng):“);

      scanf(“%s“,&Address);

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      for(i=0;i

      {

      //對(duì)比終點(diǎn)站記錄,找到并輸出

      if((strcmp(Address,train[i].TerminalPoint))==0)

      {

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      }

      }

      }

      void

      cancle(void)

      {

      SearchMenu();

      int

      i,j;

      char

      m[MAX];

      printf(“請(qǐng)輸入要?jiǎng)h除的班次:“);

      scanf(“%s“,&m);

      for(i=0;i

      {

      if(i==RecordNumber)

      {

      printf(“對(duì)不起,沒(méi)有這趟車(chē)\n“);

      }

      }

      for(j=i;j

      {

      train[j]=train[j+1];

      }

      printf(“刪除成功\n“);

      }

      void

      selection(ticket

      *pa,int

      n)

      {

      int

      i,k,index;

      struct

      ticket

      temp;

      for(k=0;k

      {

      index=k;

      for(i=k+1;i

      if(pa[i].LastTime

      index=i;

      if(index!=k)

      {

      temp=pa[index];

      pa[index]=pa[k];

      pa[k]=temp;

      }

      }

      }

      void

      TicketManagement(void)

      {

      char

      functionNumber;

      system(“mode

      con:

      cols=140

      lines=130“);

      printf(“

      訂票與退票菜單\n“);

      printf(“============================================================================\n“);

      printf(“

      1.訂票\t\n“);

      printf(“

      2.退票\t\n“);

      printf(“

      3.返回主菜單.\n“);

      printf(“============================================================================\n“);

      printf(“選擇你需要的功能:“);

      scanf(“%*c%c“,&functionNumber);

      switch(functionNumber)

      {

      case

      '1':

      {

      TicketOrder();

      //getchar();

      //getchar();

      }

      break;

      case

      '2':TicketDelete();break;

      case

      '3':

      {

      getchar();

      mainmenu();

      }

      break;

      default:

      {

      printf(“輸入錯(cuò)誤,請(qǐng)確保你的輸入為1--3.\n“);

      printf(“按任意鍵回主菜單......\n“);

      getchar();

      getchar();

      mainmenu();

      }

      }

      }

      void

      TicketOrder(void)

      {

      SearchMenu();

      int

      i,j;

      char

      a[MAX];

      printf(“請(qǐng)輸入要訂購(gòu)的車(chē)票的班次:“);

      scanf(“%s“,&a);

      printf(“請(qǐng)輸入要訂購(gòu)的車(chē)票的張數(shù):“);

      scanf(“%d“,&j);

      for(i=0;i

      {

      if((strcmp(a,train[i].SerialNumber))==0)

      {

      if(train[i].FixedNumber

      {

      (train[i].FixedNumber)+=j;

      printf(“你的訂票成功,請(qǐng)按時(shí)上車(chē),謝謝使用!\n“);

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      }

      else

      printf(“對(duì)不起,票已賣(mài)完\n“);

      }

      }

      }

      void

      TicketDelete(void)

      {

      SearchMenu();

      int

      i,j;

      char

      b[MAX];

      printf(“請(qǐng)輸入要退購(gòu)的車(chē)票的班次:“);

      scanf(“%s“,&b);

      printf(“請(qǐng)輸入要退購(gòu)的車(chē)票的張數(shù):“);

      scanf(“%d“,&j);

      for(i=0;i

      {

      if((strcmp(b,train[i].SerialNumber))==0)

      {

      if(train[i].FixedNumber>=1)

      {

      train[i].FixedNumber-=j;

      printf(“退訂車(chē)票成功,謝謝使用!\n“);

      printf(“班次\t發(fā)車(chē)時(shí)間\t起點(diǎn)\t終點(diǎn)\t行車(chē)時(shí)間(小時(shí))\t額定載量\t已定票人數(shù)\n“);

      printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes);

      printf(“%s\t%s\t\t%.1f\t

      %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber);

      }

      else

      printf(“對(duì)不起,今天的這趟車(chē)的票尚未賣(mài)出,無(wú)法完成退票!\n“);

      }

      }

      }

      void

      exit(void)

      {

      printf(“\n\n*********************謝謝使用本系統(tǒng),歡迎下次繼續(xù)使用***********************\n“);

      exit(0);

      }

      void

      SaveRecord(ticket

      x)

      {

      FILE

      *fp;

      if((fp=fopen(“add.txt“,“a“))==NULL)

      {

      printf(“打開(kāi)文件%s失敗\n“,“add.txt“);

      exit(-1);

      }

      fprintf(fp,“\n%s\t%d\t%d\t\t“,x.SerialNumber,x.SetOut.hour,x.SetOut.minutes);

      fprintf(fp,“%s\t%s\t\t%.1f\t

      %d\t\t%d“,x.DeparturePoint,x.TerminalPoint,x.LastTime,x.FixNumber,x.FixedNumber);

      }

      五、測(cè)試數(shù)據(jù)及其結(jié)果分析

      顯示的主菜單界面:

      火車(chē)票管理系統(tǒng)

      ============================================================================

      1.錄入班次信息

      2.顯示所有車(chē)票信息列表

      3.查詢(xún)火車(chē)票數(shù)據(jù)

      4.刪除火車(chē)票數(shù)據(jù)記錄

      5.按行車(chē)時(shí)間排序

      6.售票與退票系統(tǒng)

      7.退出該系統(tǒng)

      ============================================================================

      請(qǐng)選擇你所需要的功能:

      1)錄入班次信息

      輸入:1

      輸出:請(qǐng)輸入文件名或者文件路徑名:

      輸入:D:\\1.txt

      輸出:

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k1111

      8:30

      南京

      上海

      4.0

      300

      200

      k1234

      10:20

      上海

      蘇州

      2.0

      200

      t2222

      12:40

      長(zhǎng)沙

      上海

      9.0

      250

      k2323

      13:50

      揚(yáng)州

      南京

      1.5

      200

      k1122

      9:20

      廣州

      南京

      20.0

      300

      170

      按任意鍵回主菜單......2)顯示所有車(chē)票信息列表

      輸入:2

      輸出:

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k1111

      8:30

      南京

      上海

      4.0

      300

      200

      k1234

      10:20

      上海

      蘇州

      2.0

      200

      t2222

      12:40

      長(zhǎng)沙

      上海

      9.0

      250

      k2323

      13:50

      揚(yáng)州

      南京

      1.5

      200

      k1122

      9:20

      廣州

      南京

      20.0

      300

      170

      按任意鍵回主菜單......3)查詢(xún)火車(chē)票記錄

      輸入:3

      輸出:

      查詢(xún)子菜單

      ============================================================================

      1.按班次號(hào)查詢(xún)

      2.按終點(diǎn)站查詢(xún)

      3.返回主菜單

      ============================================================================

      請(qǐng)選擇你所需要的功能:

      輸入:1

      輸出:請(qǐng)輸入班次號(hào):

      輸入:k1111

      輸出:

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k1111

      8:30

      南京

      上海

      4.0

      300

      200

      按任意鍵回主菜單......輸入:2

      輸出:請(qǐng)輸入終點(diǎn)站的名稱(chēng):

      輸入:上海

      輸出:

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k1111

      8:30

      南京

      上海

      4.0

      300

      200

      t2222

      12:40

      長(zhǎng)沙

      上海

      9.0

      250

      按任意鍵回主菜單......4)刪除火車(chē)票數(shù)據(jù)

      輸入:4

      輸出:查詢(xún)子菜單

      ============================================================================

      1.按班次號(hào)查詢(xún)

      2.按終點(diǎn)站查詢(xún)

      3.返回主菜單

      ============================================================================

      請(qǐng)選擇你所需要的功能:

      (查找過(guò)程同上)

      輸出:請(qǐng)輸入要?jiǎng)h除的班次:

      輸入:t2222

      輸出:刪除成功

      按任意鍵回主菜單......5)按行車(chē)時(shí)間排序:

      輸入:5

      輸出:

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k2323

      13:50

      揚(yáng)州

      南京

      1.5

      200

      k1234

      10:20

      上海

      蘇州

      2.0

      200

      k1111

      8:30

      南京

      上海

      4.0

      300

      200

      t2222

      12:40

      長(zhǎng)沙

      上海

      9.0

      250

      k1122

      9:20

      廣州

      南京

      20.0

      300

      170

      按任意鍵回主菜單......6)售票

      輸入:6

      輸出:

      訂票與退票菜單

      ===================================================

      1.訂票

      2.退票

      3.返回主菜單

      ==================================================

      選擇你需要的功能:

      輸入:1

      輸出:

      查詢(xún)子菜單

      ========================================================================

      1.按班次號(hào)查詢(xún)

      2.按終點(diǎn)站查詢(xún)

      3.返回主菜單

      =========================================================================

      請(qǐng)選擇你所需要的功能:

      (查詢(xún)過(guò)程同上)

      輸出:請(qǐng)輸入需要訂購(gòu)的車(chē)票班次

      輸入:k1111

      輸出:請(qǐng)輸入要訂購(gòu)的車(chē)票張數(shù)

      輸入:10

      輸出:

      您的訂票成功,請(qǐng)按時(shí)上車(chē),謝謝使用!

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k1111

      8:30

      南京

      上海

      4.0

      300

      210

      7)退票

      輸入:6

      輸出:

      訂票與退票菜單

      ===================================================

      1.訂票

      2.退票

      3.返回主菜單

      ==================================================

      選擇你需要的功能:

      輸入:2

      輸出:

      查詢(xún)子菜單

      ========================================================================

      1.按班次號(hào)查詢(xún)

      2.按終點(diǎn)站查詢(xún)

      3.返回主菜單

      =========================================================================

      請(qǐng)選擇你所需要的功能:

      (查詢(xún)過(guò)程同上)

      輸出:請(qǐng)輸入需要退購(gòu)的車(chē)票班次

      輸入:k1111

      輸出:請(qǐng)輸入要訂購(gòu)的車(chē)票張數(shù)

      輸入:5

      退訂車(chē)票成功,謝謝使用!

      班次

      發(fā)車(chē)時(shí)間

      起點(diǎn)

      終點(diǎn)

      行車(chē)時(shí)間(小時(shí))

      額定載量

      已定票人數(shù)

      k1111

      8:30

      南京

      上海

      4.0

      300

      195

      8)退出

      輸入:7

      輸出:****************謝謝使用本系統(tǒng),歡迎下次繼續(xù)使用****************

      結(jié)果分析:(1).若輸入數(shù)字不在1——7之間,則會(huì)提示錯(cuò)誤。

      (2).當(dāng)輸入列車(chē)班次信息不正確時(shí),將不會(huì)得到結(jié)果。

      (3).文件錄入不正確時(shí),將不會(huì)得到任何結(jié)果。

      六、調(diào)試過(guò)程中的問(wèn)題

      1)文件存儲(chǔ)方式不正確:應(yīng)先定義一個(gè)文件存儲(chǔ)函數(shù),在其它函數(shù)中調(diào)用,方便有效。

      2)刪除時(shí)若遇到?jīng)]有的班次則程序出錯(cuò)。應(yīng)在不存在輸入的列車(chē)班次時(shí),輸出不存在的提示

      3)保存后在下次運(yùn)行時(shí)出錯(cuò)問(wèn)題:在保存信息時(shí),應(yīng)在每個(gè)信息之間加一空格來(lái)保存,否則在文件下次使用時(shí)讀取就會(huì)沒(méi)有分界點(diǎn)。

      4)訂票退票只能一次一張。應(yīng)在用戶(hù)輸入列車(chē)班次后讓用戶(hù)輸入需要訂購(gòu)的張數(shù)。

      5)結(jié)構(gòu)指針定義錯(cuò)誤,ticket前不應(yīng)加struct。

      第三篇:火車(chē)票訂票管理系統(tǒng)++設(shè)計(jì)報(bào)告

      摘要

      隨著時(shí)代的發(fā)展,計(jì)算系軟件和系統(tǒng)的成熟,火車(chē)票的正當(dāng)管理成為一個(gè)影響鐵路部門(mén)正常運(yùn)營(yíng)的因素之一,而建立火車(chē)票訂票管理系統(tǒng)是一個(gè)很好的解決辦法。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)火車(chē)票信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn),例如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好等,這些優(yōu)點(diǎn)能夠極大的提高火車(chē)票信息管理的效率,也正體現(xiàn)了火車(chē)票的科學(xué)化正規(guī)化管理 現(xiàn)在隨著社會(huì)的發(fā)展,數(shù)據(jù)量急劇增長(zhǎng),現(xiàn)在人們就借助計(jì)算機(jī)和數(shù)據(jù)庫(kù)技術(shù)科學(xué)的保存大量的數(shù)據(jù),以便能更好的利用這些數(shù)據(jù)資源。本論文就是通過(guò)MFC的整體設(shè)計(jì)把數(shù)據(jù)庫(kù)與應(yīng)用程序相連接,做成一個(gè)火車(chē)票的訂票管理系統(tǒng),使得火車(chē)票管理員能夠有效的管理車(chē)次信息、旅客信息、退票信息等。同時(shí)用戶(hù)可以通過(guò)查詢(xún)到相關(guān)的火車(chē)票信息,選擇是否適合自己,也可以在網(wǎng)上直接訂票、退票,省時(shí)省力。

      關(guān)鍵字: SQL2000,MFC,數(shù)據(jù)庫(kù)設(shè)計(jì),火車(chē)票訂票系統(tǒng) 目錄

      第一章概述

      1.1項(xiàng)目開(kāi)發(fā)背景 1.2系統(tǒng)開(kāi)發(fā)目的 1.3技術(shù)可行性研究 第二章開(kāi)發(fā)平臺(tái)介紹 2.1 系統(tǒng)的架構(gòu)

      2.2系統(tǒng)運(yùn)行環(huán)境操作系統(tǒng) 2.3系統(tǒng)開(kāi)發(fā)環(huán)境 2.4開(kāi)發(fā)工具

      第三章數(shù)據(jù)庫(kù)設(shè)計(jì) 3.1系統(tǒng)詳細(xì)調(diào)查 3.2數(shù)據(jù)流圖 3.3數(shù)據(jù)庫(kù)設(shè)計(jì)

      第四章系統(tǒng)的界面設(shè)計(jì)

      4.1主窗口界面

      4.2旅客信息窗口

      4.3車(chē)次信息窗口

      4.4取票及退票窗口 第五章系統(tǒng)的實(shí)現(xiàn)

      總結(jié)與展望 致謝 參考文獻(xiàn) 需求分析

      需求分析的任務(wù)

      調(diào)查機(jī)票預(yù)定系統(tǒng)應(yīng)用領(lǐng)域涉及的內(nèi)容,對(duì)涉及到領(lǐng)域的各個(gè)應(yīng)用的信息要求和操作要求進(jìn)行詳細(xì)分析,形成需求分析說(shuō)明書(shū)。最重要的是調(diào)查、收集信息、分析購(gòu)票人信息和火車(chē)預(yù)定流程。處理要求、數(shù)據(jù)的安全性與完整性要求。

      要求系統(tǒng)能有效、快速、安全、可靠和無(wú)誤的完成上述操作。并要求客戶(hù)機(jī)的界面要簡(jiǎn)單明了,易于操作,服務(wù)器程序利于維護(hù)。需求分析的過(guò)程

      火車(chē)站為方便旅客,需開(kāi)發(fā)一個(gè)火車(chē)票預(yù)定系統(tǒng)。為便于旅客由網(wǎng)上定票,把預(yù)定火車(chē)票的旅客信息,包括姓名、性別、工作單位、身份證號(hào)碼、出發(fā)時(shí)間、目的地,輸入火車(chē)票訂票系統(tǒng)的客戶(hù)端程序,系統(tǒng)經(jīng)過(guò)查詢(xún)火車(chē)站內(nèi)的列車(chē)車(chē)次數(shù)據(jù)服務(wù)器后,為旅客安排列車(chē),印出取票通知。旅客在火車(chē)出發(fā)前一天憑取票通知和帳單交款后取票,系統(tǒng)校對(duì)無(wú)誤后即印出火車(chē)票給旅客。如果某方面出現(xiàn)問(wèn)題,旅客可以持有效證件去火車(chē)站退票。

      要求系統(tǒng)能有效、快速、安全、可靠和無(wú)誤的完成上述操作。并要求客戶(hù)機(jī)的界面要簡(jiǎn)單明了,易于操作,服務(wù)器程序便于維護(hù)。數(shù)據(jù)字典與流程圖

      經(jīng)過(guò)可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)業(yè)務(wù)流程圖,結(jié)合該實(shí)例具體情況,給出旅客信息、訂票信息和取票通知的具體需求。

      圖2.1 旅客購(gòu)票流程圖 ⑴調(diào)查用戶(hù)需求 ①售票處需求 功能:旅客持個(gè)人證件去火車(chē)站購(gòu)買(mǎi)火車(chē)票。希望能通過(guò)旅客姓名查到該旅客的列車(chē)車(chē)次并記錄旅客基本信息。統(tǒng)計(jì)功能:

      按火車(chē)票統(tǒng)計(jì)買(mǎi)票人數(shù) 按姓名統(tǒng)計(jì)火車(chē)票數(shù) ②旅客購(gòu)票需求 交費(fèi)功能: 交費(fèi) 退費(fèi)

      ③取票需求 通知功能: 通知旅客取票 統(tǒng)計(jì)功能:

      統(tǒng)計(jì)通過(guò)驗(yàn)證的人數(shù) 統(tǒng)計(jì)可以取票的人 統(tǒng)計(jì)未通過(guò)驗(yàn)證的人數(shù) 查詢(xún)功能: 購(gòu)票旅客查詢(xún) 購(gòu)票旅客姓名 購(gòu)票旅客身份證號(hào) 購(gòu)票旅客訂單號(hào) ④列車(chē)車(chē)次信息需求 查詢(xún)功能: 車(chē)次 始發(fā)站 終點(diǎn)站 始發(fā)時(shí)間 系統(tǒng)框架 在調(diào)查完了用戶(hù)需求之后,就要開(kāi)始分析用戶(hù)需求。在此,我們們采用自頂向下的結(jié)構(gòu)化分析方法(SA方法)。首先,定義全局概念結(jié)構(gòu)的框架,如圖2.2所示。

      圖2.2火車(chē)票預(yù)定系統(tǒng)總框架圖

      各子系統(tǒng)需要進(jìn)一步細(xì)化。旅客信息系統(tǒng)為例進(jìn)一步細(xì)化,如圖2.3所示。

      圖2.3旅客信息系統(tǒng)細(xì)化

      以其中的查詢(xún)旅客信息功能為例進(jìn)一步細(xì)化,如圖2.4所示。

      圖2.4查詢(xún)旅客信息功能

      圖2.5列車(chē)車(chē)次信息系統(tǒng)細(xì)化

      圖2.6取票通知系統(tǒng)細(xì)化

      圖2.7旅客信息系統(tǒng)能查詢(xún)到的內(nèi)容

      圖2.8火車(chē)票信息系統(tǒng)能查詢(xún)到的內(nèi)容

      圖2.9退票信息系統(tǒng)細(xì)化

      將所有子系統(tǒng)全部細(xì)化。將所有用戶(hù)需求分析完畢之后,就要開(kāi)始構(gòu)造數(shù)據(jù)字典了。經(jīng)分析之后,本系統(tǒng)要用到五個(gè)基本表:退票信息表,旅客信息表,列車(chē)車(chē)次信息表,取票通知信息系統(tǒng),列車(chē)座位信息表。數(shù)據(jù)結(jié)構(gòu)定義如表2.1所示。表2.1 數(shù)據(jù)結(jié)構(gòu)定義 數(shù)據(jù)結(jié)構(gòu)名

      含義說(shuō)明

      組成退票信息

      定義了退票旅客的有關(guān)信息

      旅客姓名,身份證號(hào),訂單號(hào),電話號(hào)

      旅客

      定義了旅客有關(guān)信息

      旅客姓名,身份證號(hào),性別,工作單位,電話號(hào)

      列車(chē)車(chē)次信息表

      定義了車(chē)次 的有關(guān)信息

      車(chē)次號(hào),始發(fā)地,目的地,始發(fā)時(shí)間

      取票通知單

      定義了取票通知相關(guān)有關(guān)信息

      旅客姓名,取票時(shí)間,列車(chē)車(chē)次,座位號(hào),火車(chē)票類(lèi)型

      列車(chē)座位信息表

      定義了列車(chē)座位有關(guān)信息

      列車(chē)號(hào),座位號(hào),座位信息,火車(chē)票類(lèi)型

      概念結(jié)構(gòu)設(shè)計(jì)

      概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟 概念結(jié)構(gòu)設(shè)計(jì)的方法

      概念設(shè)計(jì)階段我們采用自底向上的方法,即自頂向下的進(jìn)行需求分析,然后再自底向上的進(jìn)行概念結(jié)構(gòu)設(shè)計(jì)。對(duì)已經(jīng)細(xì)化到無(wú)法再分的階段逐步集成在一起,最終合成一個(gè)全局概念模式。

      概念結(jié)構(gòu)設(shè)計(jì)的步驟

      第一步是進(jìn)行局部視圖的設(shè)計(jì):由于高層的數(shù)據(jù)流圖只能反映系統(tǒng)的概貌,而中層流圖能較好的反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成。因此我們們先逐一的設(shè)計(jì)分E-R圖。

      第二步是進(jìn)行視圖的集成:各子系統(tǒng)的E-R圖設(shè)計(jì)好之后,下一步就是要將所有的分E-R圖合成一個(gè)系統(tǒng)的總E-R圖,一般有兩個(gè)方式,多個(gè)分E-R圖一次集成,另一種是一次集成兩個(gè)分E-R圖。我們想采用一次集成兩個(gè)分E-R圖的方式。數(shù)據(jù)抽象與局部視圖設(shè)計(jì)

      按照?qǐng)D2.2機(jī)票預(yù)定系統(tǒng)總框架圖,設(shè)計(jì)實(shí)體屬性圖以及局部E-R圖。

      圖3.1退票信息系統(tǒng)

      圖3.2旅客信息系統(tǒng) ……圖3.3列車(chē)車(chē)次信息

      圖3.4取票通知信息

      圖3.5列車(chē)座位信息表

      圖3.6旅客購(gòu)票局部E-R 視圖的集成

      經(jīng)過(guò)逐步細(xì)化再進(jìn)行每?jī)蓚€(gè)一集成初步形成一個(gè)E-R圖,最后得到圖3.4總體概念結(jié)構(gòu)E-R圖

      圖3.4系統(tǒng)總體結(jié)構(gòu)E-R圖

      邏輯結(jié)構(gòu)設(shè)計(jì)

      E-R圖向關(guān)系模型的轉(zhuǎn)換

      將圖3.4總體概念結(jié)構(gòu)E-R圖轉(zhuǎn)化成關(guān)系模型。退票信息(訂單號(hào),旅客姓名,電話號(hào),身份證號(hào))

      旅客(旅客姓名,身份證號(hào),電話號(hào),性別,工作單位)車(chē)次信息表(車(chē)次號(hào),始發(fā)站,終點(diǎn)站,始發(fā)時(shí)間)

      取票通知單(旅客姓名,取票時(shí)間,車(chē)次號(hào),座位號(hào),車(chē)票類(lèi)型)列車(chē)座位信息表(座位號(hào),車(chē)次號(hào),座位信息,車(chē)票類(lèi)型)數(shù)據(jù)模型的優(yōu)化

      將轉(zhuǎn)化的關(guān)系模式進(jìn)行優(yōu)化,最終達(dá)到第三范式。

      1、確定數(shù)據(jù)依賴(lài)

      退票信息(訂單號(hào),旅客姓名,電話號(hào),身份證號(hào))根據(jù)這個(gè)關(guān)系寫(xiě)出數(shù)據(jù)依賴(lài) 訂單號(hào)→旅客姓名,訂單號(hào)→電話號(hào),訂單號(hào)→身份證號(hào) 旅客(旅客姓名,身份證號(hào),電話號(hào),性別,工作單位)旅客姓名→身份證號(hào),旅客姓名→電話號(hào),旅客姓名→性別,旅客姓名→工作單位 車(chē)次信息表(車(chē)次號(hào),始發(fā)地,目的地,始發(fā)時(shí)間)列車(chē)車(chē)次→始發(fā)站,列車(chē)車(chē)次→終點(diǎn)站,車(chē)次→始發(fā)時(shí)間

      取票通知單(旅客姓名,取票時(shí)間,車(chē)次號(hào),座位號(hào),機(jī)票類(lèi)型)旅客姓名→取票時(shí)間,旅客姓名→車(chē)次號(hào),旅客姓名→座位號(hào),旅客姓名→車(chē)票類(lèi)型

      火車(chē)座位信息表(座位號(hào),車(chē)次號(hào),座位信息,車(chē)票類(lèi)型)(座位號(hào),車(chē)次號(hào))→座位信息,(座位號(hào),車(chē)次號(hào),座位信息)→車(chē)票類(lèi)型 對(duì)各關(guān)系模式間數(shù)據(jù)依賴(lài)進(jìn)行極小化處理,消除冗余

      訂單號(hào)→旅客姓名,訂單號(hào)→電話號(hào),訂單號(hào)→身份證號(hào),旅客姓名→性別 旅客姓名→工作單位,旅客姓名→取票時(shí)間,旅客姓名→車(chē)次號(hào)

      旅客姓名→座位號(hào),旅客姓名→車(chē)票類(lèi)型,車(chē)次號(hào)→始發(fā)站,列車(chē)號(hào)→終點(diǎn)站 車(chē)次號(hào)→始發(fā)時(shí)間,(座位號(hào),車(chē)次號(hào))→座位信息

      看這些模式是否符合要求,確定是否要對(duì)某些模式進(jìn)行合并或者分解 最終分解成第三范式:

      (訂單號(hào),電話號(hào),身份證號(hào))(訂單號(hào),旅客姓名)(旅客姓名,取票時(shí)間,性別,工作單位,車(chē)票類(lèi)型)(旅客姓名,車(chē)次號(hào))(旅客姓名,座位號(hào))(車(chē)次號(hào),座位號(hào),車(chē)票類(lèi)型)(車(chē)次號(hào),始發(fā)站,終點(diǎn)站,始發(fā)時(shí)間)

      第四篇:學(xué)生公寓管理系統(tǒng)可行性報(bào)告

      學(xué)生公寓管理系統(tǒng)可行性報(bào)告

      一.引言

      摘要

      隨著電腦的普及與使用,現(xiàn)在的管理也提升了一個(gè)檔次,漸漸實(shí)現(xiàn)了無(wú)紙化辦公,即從原來(lái)的人工記錄管理模式轉(zhuǎn)變?yōu)殡娔X一體化管理。高校是科研的陣地,后勤的公寓管理也應(yīng)該一改傳統(tǒng)的人工管理,更加信息化,時(shí)代化,節(jié)省人力物力,提高效率。基于這一點(diǎn),開(kāi)發(fā)此學(xué)生公寓管理軟件。

      學(xué)生公寓管理軟件,是以高校的管理方式為實(shí)例而設(shè)計(jì)的一種實(shí)用型管理系統(tǒng)。本系統(tǒng)最大的特點(diǎn)是通用性、簡(jiǎn)單操作性,適用于同行業(yè)以及一些同類(lèi)型的企業(yè)管理。隨著學(xué)校寄宿人員的增多,公寓管理人員的負(fù)擔(dān)越來(lái)越重,為了讓所有公寓管理人員能從繁重的工作中解脫出來(lái),實(shí)現(xiàn)無(wú)紙化辦公;使工作更有條理,更方便,更有效率而開(kāi)發(fā)出這套公寓管理軟件。

      軟件從對(duì)學(xué)生的分房開(kāi)始到最后的公寓管理全部電腦化。它主要包括:公寓、寢室的配置、住宿人員登記、衛(wèi)生檢查、公寓資產(chǎn)、值班老師記錄以及對(duì)學(xué)生住宿情況查詢(xún),可以更快地了解到每個(gè)學(xué)生的住宿情況,使公寓的管理效率更高,做的更好!

      背景

      名稱(chēng):學(xué)生公寓管理系統(tǒng)。

      本項(xiàng)目的任務(wù)提出者:鄭州航院信息統(tǒng)計(jì)職業(yè)學(xué)院。開(kāi)發(fā)者:邁拓者工作室。

      用戶(hù): 學(xué)院公寓辦的全體教師職工。

      參考資料

      《管理信息系統(tǒng)案例教程》、《ASP.NET程序設(shè)計(jì)與應(yīng)用開(kāi)發(fā)》等有關(guān)資料。

      二.可行性研究前提

      要求

      “學(xué)生公寓管理系統(tǒng)”必須適應(yīng)當(dāng)前學(xué)校實(shí)際情況,符合國(guó)家各種政策法規(guī),信息指標(biāo)體系滿(mǎn)足標(biāo)準(zhǔn)化要求,能夠協(xié)助公寓辦管理人員統(tǒng)籌安排,提高工作效率。

      進(jìn)行可行性研究的方法

      主要通過(guò)跟學(xué)院對(duì)系統(tǒng)的需求分析和研究比較的方法

      三.系統(tǒng)的方案

      系統(tǒng)的目標(biāo):實(shí)現(xiàn)辦公信息化,使公寓管理更加合理、有序,提高辦事效率。

      四.系統(tǒng)的功能

      系統(tǒng)功能模塊包括五大模塊:管理系統(tǒng)模塊,查詢(xún)學(xué)生模塊,宿舍管理模塊,資料修改模塊,出入登記模塊。

      1.管理系統(tǒng)模塊:實(shí)現(xiàn)用戶(hù)退出功能。

      2.查詢(xún)學(xué)生模塊:該模塊包括五個(gè)子模塊

      按學(xué)號(hào)查詢(xún)——實(shí)現(xiàn)按學(xué)號(hào)查詢(xún)學(xué)生信息

      按姓名查詢(xún)——實(shí)現(xiàn)按姓名查詢(xún)學(xué)生信息

      按學(xué)生班級(jí)查詢(xún)——實(shí)現(xiàn)按學(xué)生班級(jí)查詢(xún)學(xué)生信息

      按宿舍號(hào)查詢(xún) ——實(shí)現(xiàn)按學(xué)生宿舍號(hào)查詢(xún)學(xué)生信息

      3.宿舍管理模塊:包括四個(gè)子模塊

      基本情況錄入——錄入入住學(xué)生的基本信息

      宿舍分配管理——處理學(xué)生的入宿、退宿、更新

      個(gè)人財(cái)物處理——登記學(xué)生個(gè)人財(cái)產(chǎn)

      4.資料修改模塊:包括;兩個(gè)子模塊

      學(xué)生修改——完成學(xué)生基本資料修改,個(gè)人財(cái)物修改和學(xué)期注冊(cè)情況修改

      登記修改——實(shí)現(xiàn)來(lái)訪登記修改和物品出入宿舍修改

      5.出入登記:包括兩各子模塊

      來(lái)訪登記——完成來(lái)訪人員的信息登記

      五.系統(tǒng)結(jié)構(gòu)

      系統(tǒng)采用B/S結(jié)構(gòu)

      五.可行性研究

      開(kāi)發(fā)系統(tǒng)的必要性

      由于公寓人工管理效率低下,工作繁雜,所以需要建立這樣一個(gè)“學(xué)生公寓管理系統(tǒng)”來(lái)提高效率,便于管理。

      開(kāi)發(fā)系統(tǒng)的經(jīng)濟(jì)可行性

      學(xué)院提供相關(guān)費(fèi)用。

      開(kāi)發(fā)系統(tǒng)的技術(shù)可行性

      利用Asp.net, SQL Server等技術(shù)。

      在限制條件下,功能目標(biāo)是否能達(dá)到:看是否能給出正確的信息和提示。

      對(duì)開(kāi)發(fā)人員數(shù)量和質(zhì)量的要求:七個(gè)開(kāi)發(fā)人員,都精通相關(guān)技術(shù)。在規(guī)定的期限內(nèi)是否能完成:能。

      社會(huì)條件方面的可行性

      法律方面的可行性:符合法律規(guī)定的相關(guān)條例,完全遵照國(guó)家法規(guī)來(lái)進(jìn)行研究。

      用戶(hù)使用的可行性:會(huì)使用計(jì)算機(jī)的公寓管理人員。

      第五篇:c++課程實(shí)踐火車(chē)票管理系統(tǒng)

      #include #include #include #include #include

      using namespace std;

      class Bus_infor { int No;

      static int Bus_No;char start[20];char end[20];int Bus_order;

      int all_tickted;int tickted;int Hour_start,Minute_start,Hour_end,Minute_end;int Hour;int Minute;

      public: Bus_infor *next;Bus_infor();~Bus_infor();int Get_no();int Get_all_tickted();int Get_tickted();int Get_bus_order();

      char *Get_start();char *Get_end();void addr();

      void Order_tickt(int n);void Unorder_tickt(int n);void GetTime_start();void GetTime_end();void ShowTime();void GetTime();void Show_infor();

      void input(){

      cout<<“ttt按提示輸入:”<

      cout<<“tt輸入車(chē)次: ”;

      cin>>Bus_order;

      cout<<“請(qǐng)輸入車(chē)的額定載量: ”;

      cin>>all_tickted;

      GetTime_start();

      GetTime_end();

      addr();

      char a;

      cout<<“是否清空售票(y/n)?”<

      cin>>a;

      if(a=='y')tickted=0;}

      void input(ifstream & is)

      {

      is>>Bus_order>>start>>end>>all_tickted>>tickted>>Hour_start>>Minute_start>>Hour_end>>Minute_end;

      is.get();

      }

      void output(){cout<<“客車(chē)基本信息如下:”<

      <<“ 發(fā)車(chē)時(shí)間:”<

      <<“ 起點(diǎn)站:”<

      <<“ 終點(diǎn)站:”<

      <<“行車(chē)時(shí)間”<

      <<“額定載量”<

      void output(ofstream & os)

      {

      os<

      <

      <

      <

      <

      <

      <

      <

      <

      <

      };

      int Bus_infor::Bus_No=1;

      void Bus_infor::GetTime_start(){ int NewH=0,NewM=0;cout<<“請(qǐng)輸入發(fā)車(chē)時(shí)間:”<>NewH>>NewM;Hour_start=NewH;Minute_start=NewM;}

      void Bus_infor::GetTime_end(){ int NewH=0,NewM=0;cout<<“請(qǐng)輸入行車(chē)時(shí)間:”<>NewH>>NewM;Hour_end=NewH;Minute_end=NewM;}

      void Bus_infor::GetTime(){ if(Minute_end>=Minute_start){Minute=(Minute_end-Minute_start);Hour=(Hour_end-Hour_start);}

      else {Minute=(Minute_end-Minute_start+60);Hour=(Hour_end-Hour_start-1);} } void Bus_infor::ShowTime(){ cout<

      cout<

      tickted=0;} Bus_infor::~Bus_infor(){ Bus_No--;}

      void Bus_infor::addr(){ cout<<“請(qǐng)輸入起點(diǎn)站與終點(diǎn)站:”<

      cin>>a;cin>>b;strcpy(start,a);strcpy(end,b);}

      char *Bus_infor::Get_start(){ return start;}

      char *Bus_infor::Get_end(){ return end;}

      int Bus_infor::Get_no(){

      return No;}

      int Bus_infor::Get_all_tickted(){ return all_tickted;}

      int Bus_infor::Get_tickted(){ return tickted;}

      int Bus_infor::Get_bus_order(){ return Bus_order;}

      void Bus_infor::Order_tickt(int n){ tickted=tickted+n;}

      void Bus_infor::Unorder_tickt(int n){ tickted=tickted-n;};

      class Bus_link{ public: Bus_link(){head=new Bus_infor;head->next=NULL;key=0;}

      void input();void mend();void del();int find(Bus_infor **p,int num,char *pn);

      int find1(Bus_infor **p,int num,char *pn);

      void found();void show();

      void Order();

      void Unorder();

      void save();

      void begin();

      void clear();

      char mainmenu();

      int getkey(){ return key;}

      void setkey(int k){ key=k;} private:

      Bus_infor *head;

      int key;};

      void Bus_link::input(){ Bus_infor *p,*p2=NULL;p=head;

      int n;while(p->next)

      p=p->next;while(n){

      p2=new Bus_infor;

      p2->input();

      p->next=p2;

      p2->next=NULL;

      p=p->next;

      Bus_link::setkey(1);

      cout<<“ttt按1繼續(xù),按0返回 : ”;

      cin>>n;} }

      void Bus_link::Order(){ Bus_infor *p;cout<<“確定購(gòu)票(y/n)?”<>X;if(X=='y'){

      int num;

      cout<<“ttt輸入車(chē)次號(hào): ”;

      cin>>num;

      if(!find1(&p,num,“^”))

      {

      cout<<“tt找不到你要定票的車(chē)輛的內(nèi)容!”<

      return;

      }

      cout<<“輸入要定的票數(shù) ”;

      int n;cin>>n;

      p=p->next;

      if((p->Get_tickted()+n)<=p->Get_all_tickted())

      {p->Order_tickt(n);

      cout<<“謝謝使用”<

      else cout<<“對(duì)不起,沒(méi)有足夠的票數(shù)?!?

      } else if(X=='n')cout<<“謝謝使用”<

      void Bus_link::Unorder(){ Bus_infor *p;cout<<“確定退票(y/n)?”<>X;if(X=='y'){

      int num;

      cout<<“ttt輸入車(chē)次號(hào): ”;

      cin>>num;

      if(!find1(&p,num,“^”))

      {

      cout<<“tt找不到你要定票的車(chē)輛的內(nèi)容!”<

      return;

      }

      cout<<“輸入要退的票數(shù) ”;

      int n;cin>>n;

      p=p->next;

      if((p->Get_tickted()-n)>=0)

      p->Unorder_tickt(n);

      else cout<<“對(duì)不起,數(shù)據(jù)出錯(cuò)!。”<

      } else if(X=='n')cout<<“謝謝使用”<

      void Bus_link::found(){ Bus_infor *p;int num=-1,n=9;char name[20]=“^”;do {

      cout<<“tt1:按車(chē)次查找,2:按終點(diǎn)站查找: ”;

      cin>>n;}while(n<1||n>2);if(n==1){

      cout<<“ttt輸入車(chē)次: ”;

      cin>>num;} if(n==2){

      cout<<“ttt輸入終點(diǎn)站: ”;

      cin>>name;} if(!find(&p,num,name)){

      cout<<“tt找不到你要查找的內(nèi)容!”<

      return;} }

      int Bus_link::find(Bus_infor **p1,int num,char *pn){ Bus_infor *p;

      p=head;

      int t=0;

      while(p->next){

      (*p1)=p;

      if((p->next)->Get_bus_order()==num||!strcmp((p->next)->Get_end(),pn))

      {

      (p->next)->output();

      t=1;

      break;

      }

      p=p->next;} return t;}

      int Bus_link::find1(Bus_infor **p1,int num,char *pn){ Bus_infor *p;p=head;int t=0;while(p->next){

      (*p1)=p;

      if((p->next)->Get_bus_order()==num||!strcmp((p->next)->Get_end(),pn))

      {return 1;}

      p=p->next;}

      return 0;} void Bus_link::del(){ Bus_infor *p,*p2;int num;cout<<“ttt輸入車(chē)次號(hào): ”;cin>>num;

      if(!find(&p,num,“^”)){

      cout<<“tt找不到你要?jiǎng)h除的內(nèi)容!”<

      return;} p2=p->next;p->next=p2->next;delete p2;Bus_link::setkey(1);}

      void Bus_link::show(){ Bus_infor *p;p=head;while(p->next){

      (p->next)->output();

      p=p->next;} } void Bus_link::mend(){ Bus_infor *p;int num=-1;char name[20]=“^”;

      cout<<“ttt輸入車(chē)次號(hào): ”;cin>>num;

      if(!find1(&p,num,name)){

      cout<<“tt找不到你要修改的內(nèi)容!”<

      return;}(p->next)->output();(p->next)->input();Bus_link::setkey(1);} void Bus_link::save(){ Bus_infor *p;p=head;ofstream os(“bus.txt”,ios::out);if(Bus_link::getkey()==1){

      while(p->next)

      {

      (p->next)->output(os);

      p=p->next;

      } } cout<<“ttt文件已保存!”<

      Bus_infor *p,*p2;p=head;clear();long t;ifstream is(“bus.txt”,ios::in);

      if(!is){

      ofstream os(“bus.txt”,ios::out);

      os.close();

      return;} int num=-1;while(1){

      num=-1;

      t=is.tellg();

      is>>num;

      is.seekg(t);

      if(num<0)

      {

      is.close();

      return;

      }

      p2=new Bus_infor;

      p2->input(is);

      p->next=p2;

      p2->next=NULL;

      p=p->next;} }

      void Bus_link::clear(){ Bus_infor *p,*p2;p=head->next;while(p){

      p2=p;

      p=p->next;

      delete p2;} }

      char Bus_link::mainmenu(){ char n[6];cout<<“nn

      ---歡迎使用車(chē)票管理系統(tǒng)---”<

      制作人 劉強(qiáng)

      ”<

      <<“

      物理學(xué)院

      ”<

      <<“

      ”<

      <<“

      1.錄入車(chē)票信息

      2.瀏覽車(chē)票信息

      <<”

      3.查詢(xún)車(chē)票信息

      4.刪除車(chē)票信息

      <<“

      5.修改車(chē)票信息

      6.定購(gòu)車(chē)票信息

      <<”

      7.退還車(chē)票信息

      8.保存車(chē)票信息

      <<“

      0:

      退出系統(tǒng)

      <<”--------------------------“<

      <<”--------------------------“<

      <<”

      請(qǐng)選擇功能按鈕: “;cin>>n;return n[0];}

      int main(){

      Bus_link pp;int k=1;char n;pp.begin();

      while(k==1){

      n=pp.mainmenu();

      switch(n)

      {

      case '1':pp.input();break;

      case '2':pp.show();break;

      case '3':pp.found();break;

      ”<

      case '4':pp.del();break;

      case '5':pp.mend();break;

      case '6':pp.Order();break;

      case '7':pp.Unorder();break;

      case '8':pp.save();break;

      case '0':

      if(pp.getkey()==1)

      {

      cout<<“ttt是否保存? 1 : 保存 0:不保存 : ”;

      cin>>k;

      if(k==1)

      pp.save();

      }

      pp.clear();

      k=0;

      break;

      } } return 0;}

      下載火車(chē)票管理系統(tǒng)可行性報(bào)告(本站推薦)word格式文檔
      下載火車(chē)票管理系統(tǒng)可行性報(bào)告(本站推薦).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        小型超市管理系統(tǒng)可行性報(bào)告

        《小型超市管理系統(tǒng)》可行性報(bào)告 曹劍濤李成軍 目錄 一、 前言 ........................................................................................................

        圖書(shū)館管理系統(tǒng)可行性分析報(bào)告

        圖書(shū)館管理系統(tǒng)可行性分析報(bào)告 1 引言 某圖書(shū)館為了方便管理和與讀者、圖書(shū)供應(yīng)商更好的聯(lián)系特提出開(kāi)發(fā)此系統(tǒng)。 1.1 編寫(xiě)目的: 從現(xiàn)在應(yīng)用的技術(shù)方面和用戶(hù)的操作方式方面......

        車(chē)票管理系統(tǒng)可行性分析報(bào)告

        第4組車(chē)票管理系統(tǒng) 可行性分析報(bào)告 課程名稱(chēng): 院系: 專(zhuān)業(yè)班級(jí): UML系統(tǒng)建模與分析設(shè)計(jì) 姓名:指導(dǎo)教師: 2011年05月12日 目 錄 1.引言................................................

        學(xué)生宿舍管理系統(tǒng)可行性分析報(bào)告

        可行性分析報(bào)告 一、 系統(tǒng)建立的背景及意義由于計(jì)算機(jī)技術(shù)的迅速發(fā)展和普及,網(wǎng)絡(luò)通信技術(shù)越來(lái)越被廣泛的應(yīng)用。管理信息系統(tǒng)在現(xiàn)代社會(huì)已深入到各行各業(yè)。大學(xué)生宿舍管理系統(tǒng)......

        圖書(shū)館管理系統(tǒng)可行性分析報(bào)告

        圖書(shū)館管理系統(tǒng)可行性分析報(bào)告軟件0602李冰一、引言 1.背景分析 一直以來(lái)人們使用傳統(tǒng)的人工方式管理圖書(shū)館的日常工作,對(duì)于圖書(shū)館的借書(shū)和還書(shū)過(guò)程,想必大家都已很熟悉。在計(jì)......

        倉(cāng)庫(kù)管理系統(tǒng)可行性分析報(bào)告

        倉(cāng)庫(kù)管理系統(tǒng)可行性分析報(bào)告 可行性報(bào)告的編制一般由企業(yè)內(nèi)部市場(chǎng)部或?qū)I(yè)的市場(chǎng)研究公司撰寫(xiě),市場(chǎng)研究公司在數(shù)據(jù)采集、資料歸類(lèi)、觀點(diǎn)提煉、報(bào)告撰寫(xiě)方面具備獨(dú)特的專(zhuān)業(yè)優(yōu)......

        資產(chǎn)管理系統(tǒng)可行性分析報(bào)告

        資產(chǎn)管理系統(tǒng)可行性分析報(bào)告 一 企業(yè)在固定資產(chǎn)管理中存在的問(wèn)題及對(duì)策。 固定資產(chǎn)是構(gòu)成企業(yè)資產(chǎn)的主體,它使用期限較長(zhǎng),單位價(jià)值較高,在使用過(guò)程中保持原有實(shí)物形態(tài),具有潛在......

        考勤管理系統(tǒng)可行性報(bào)告(釘釘)

        XXXXX有限公司 項(xiàng)目考勤統(tǒng)一管理 可 行 性 方 案 報(bào) 告 2018年7月19日星期四 一.考勤統(tǒng)一管理目的 針對(duì)目前公司考勤情況的運(yùn)行現(xiàn)狀進(jìn)行分析和總結(jié),通過(guò)采用先進(jìn)的網(wǎng)絡(luò)技術(shù),代......