2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  計(jì)算機(jī)科學(xué)與技術(shù)系</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  2008~2009學(xué)年第二期</p><p><b>  一、課程設(shè)計(jì)題目</b></p><p>  課程設(shè)計(jì)名稱:航班售票系統(tǒng)</p>

2、<p>  設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)航班售票系統(tǒng)系統(tǒng),能夠?qū)娇展镜氖燮边M(jìn)行管理。航空公司的售票系統(tǒng)主要包括:航線信息、訂票業(yè)務(wù)、退票業(yè)務(wù)。</p><p><b>  任務(wù)和要求</b></p><p>  1.航線信息:每條航線包括航班號(hào),飛機(jī)號(hào),目的地,訂票數(shù),余票數(shù),共5項(xiàng)。</p><p>  現(xiàn)有3條航線:目的地北京,上海

3、,廣州。飛機(jī)可乘100人(初始定票數(shù)為0,余票數(shù)為100)。將這些信息存入文件airline.dat中。</p><p><b>  2.訂票業(yè)務(wù):</b></p><p>  (1).客戶信息包括姓名,航班號(hào),座位號(hào)(初始為0),假設(shè)已有3個(gè)客戶信息存入文件customer.dat。</p><p>  (2).有新客戶訂票時(shí),先輸入姓名和航

4、班號(hào),查詢情況,如果還有余票,就為這個(gè)客戶辦理訂票手續(xù),分給客戶一個(gè)座位號(hào),然后寫(xiě)入文件costomer.dat,并修改文件,若無(wú)余票,則輸出客戶已滿</p><p><b>  3.退票業(yè)務(wù):</b></p><p>  根據(jù)客戶提出的航班號(hào),辦理退票,從airline.dat文件中刪除 這個(gè)客戶的信息,并修改airline.dat中相應(yīng)的航線的訂票數(shù)和余票數(shù)輸出全

5、部航線的信息和全部客戶信息,退出系統(tǒng)。</p><p><b>  二、問(wèn)題的分析</b></p><p>  首先這是一個(gè)管理系統(tǒng),有兩個(gè)大類乘客和飛機(jī),所以要定義2個(gè)類,又因?yàn)樾枰M(jìn)行文件的操作,那么可以再定義2個(gè)類,乘客信息類,飛機(jī)信息類用于儲(chǔ)存多個(gè)信息。界面操作當(dāng)然需要用switch語(yǔ)句實(shí)現(xiàn),case時(shí)調(diào)用到函數(shù)。</p><p>&l

6、t;b>  三、算法的設(shè)計(jì)</b></p><p>  我設(shè)計(jì)的這個(gè)航空管理系統(tǒng)運(yùn)用到了條件判斷,switch語(yǔ)句,循環(huán)語(yǔ)句,類與對(duì)象,對(duì)象數(shù)組,對(duì)象指針,類與類的嵌套,文件的寫(xiě)入寫(xiě)出等知識(shí)點(diǎn)。</p><p>  整體的構(gòu)思:設(shè)計(jì)了四個(gè)類飛機(jī)信息庫(kù)類,乘客類,乘客信息庫(kù)類。</p><p>  飛機(jī)類包含了飛機(jī)的一些基本屬性,有航班號(hào),飛機(jī)號(hào),目

7、的地,余票數(shù),已定票數(shù)等信息</p><p>  class Flight //飛機(jī)類</p><p><b>  {</b></p><p><b>  private:</b></p><p>  int note; //刪除標(biāo)記 1:已刪,0:未刪</p><p>

8、  int flightnum; //航班號(hào)</p><p>  int planenum; //飛機(jī)號(hào) </p><p>  char destination[20]; //目的地</p><p>  int bookednum; //已定票數(shù)</p><p>  int refundnum; //余票&l

9、t;/p><p><b>  public:</b></p><p>  Flight():bookednum(0),refundnum(100){}</p><p>  char *getdes()</p><p><b>  {</b></p><p>  return de

10、stination;</p><p><b>  }</b></p><p>  int getnote()</p><p><b>  {</b></p><p>  return note;</p><p><b>  }</b></p>

11、<p>  int getflightnum() </p><p><b>  {</b></p><p>  return flightnum;</p><p><b>  }</b></p><p>  int getplanenum()</p><p>&

12、lt;b>  {</b></p><p>  return planenum;</p><p><b>  }</b></p><p>  void setrefund() //訂票后對(duì)余票和已定票數(shù)的操作</p><p><b>  {</b></p>

13、<p>  bookednum++;</p><p>  refundnum--;</p><p><b>  }</b></p><p>  void delrefund() //退票后對(duì)余票和已定票數(shù)的操作</p><p><b>  {</b></p>

14、<p>  bookednum--;</p><p>  refundnum++;</p><p><b>  }</b></p><p>  void setname(char de[]) </p><p><b>  {</b></p><p>  st

15、rcpy(destination,de);</p><p><b>  }</b></p><p>  void delplane() //刪除飛機(jī)的操作</p><p><b>  {</b></p><p><b>  note=1;</b></p>&l

16、t;p><b>  }</b></p><p>  void addplane(int n,int m, char *de) //增加飛機(jī)</p><p><b>  {</b></p><p><b>  note=0;</b></p><p>  flightnum

17、=m;</p><p>  planenum=n;</p><p>  strcpy(destination,de);</p><p><b>  }</b></p><p>  void list()</p><p><b>  {</b></p><p

18、>  cout<<"飛機(jī)號(hào)"<<" "<<" 航班號(hào)"<<" "<< "目的地" <<" "<<"已定票數(shù)"<<"

19、 "<<"剩余票數(shù)"<<endl;</p><p>  cout<<planenum<<" "<<setw(5)<<flightnum<<" "<<setw(10)<<destination&

20、lt;<" "<<setw(5)<<bookednum<<" "<<setw(5)<<refundnum<<endl;</p><p><b>  }</b></p><p><b>  };

21、</b></p><p>  飛機(jī)信息庫(kù)類內(nèi)嵌了一個(gè)飛機(jī)類的對(duì)象數(shù)組作為飛機(jī)信息庫(kù)類的私有成員,每一個(gè)飛機(jī)的信息都是一個(gè)對(duì)象,都儲(chǔ)存在了飛機(jī)類的對(duì)象數(shù)組中,通過(guò)這個(gè)數(shù)組進(jìn)行對(duì)單個(gè)或多個(gè)飛機(jī)對(duì)象屬性的一些操作,飛機(jī)信息庫(kù)類中還包括界面操作選擇的程序,其中還有信息的寫(xiě)入文件,讀取文件中的數(shù)據(jù)的功能</p><p>  class FDatabase //飛機(jī)信息庫(kù)類 <

22、;/p><p><b>  {</b></p><p><b>  private:</b></p><p>  int top; //記錄數(shù)組下標(biāo)</p><p>  Flight Fl[Maxp]; //飛機(jī)類的對(duì)象數(shù)組</p><p><b>  

23、public:</b></p><p>  FDatabase()</p><p><b>  {</b></p><p><b>  Flight f;</b></p><p><b>  top=-1;</b></p><p>  fst

24、ream file("airline.dat",ios::in); //文件打開(kāi)</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  file.read((char *)&f,sizeof(f));</p><

25、p><b>  if(!file)</b></p><p><b>  break;</b></p><p><b>  top++;</b></p><p>  Fl[top]=f;</p><p><b>  }</b></p>&

26、lt;p>  file.close();</p><p><b>  }</b></p><p>  void clear() //清楚所有航班的操作 </p><p><b>  {</b></p><p><b>  top=-1;</b><

27、/p><p>  cout<<"航班信息已刪除!"<<endl;</p><p><b>  }</b></p><p>  int addplane(int n,int m,char *de) //增加飛機(jī)</p><p><b>  {</b><

28、/p><p>  Flight *fl=query(n);</p><p>  if(fl==NULL)</p><p><b>  {</b></p><p><b>  top++;</b></p><p>  Fl[top].addplane(n,m,de);</p&

29、gt;<p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  Flight *query(in

30、t pflightnum) //對(duì)象指針 用于查找等操作</p><p><b>  {</b></p><p>  for(int i=0;i<=top;i++)</p><p>  if(Fl[i].getflightnum()==pflightnum && Fl[i].getnote()==0)</p>

31、;<p>  return &Fl[i];</p><p>  return NULL;</p><p><b>  }</b></p><p>  Flight *query1(int pplanenum)</p><p><b>  {</b></p><

32、;p>  for(int i=0;i<=top;i++)</p><p>  if(Fl[i].getplanenum()==pplanenum && Fl[i].getnote()==0)</p><p>  return &Fl[i];</p><p>  return NULL;</p><p>&l

33、t;b>  }</b></p><p>  void list()</p><p><b>  {</b></p><p>  for(int i=0;i<=top;i++)</p><p>  if(Fl[i].getnote()==0)</p><p>  Fl[i].

34、list();</p><p><b>  }</b></p><p>  void planedata();</p><p>  ~FDatabase()</p><p><b>  {</b></p><p>  fstream file("airline.da

35、t",ios::out);</p><p>  for(int i=0;i<=top;i++)</p><p>  if(Fl[i].getnote()==0)</p><p>  file.write((char *)& Fl[i],sizeof(Fl[i]));</p><p>  file.close();<

36、;/p><p><b>  }</b></p><p><b>  };</b></p><p>  乘客類包含了乘客的一些基本屬性,有姓名,航班號(hào),座位號(hào),客戶編號(hào)等屬性</p><p>  class Passenger //乘客類</p><p><b>  {

37、</b></p><p><b>  private:</b></p><p>  int note; //刪除標(biāo)記 1:已刪,0:未刪</p><p>  int flightnum; //航班號(hào)</p><p>  char name[20]; //乘客姓名</p><p>

38、;  int ID; //乘客編號(hào)</p><p>  int seatnum; //座位號(hào)</p><p><b>  public:</b></p><p>  Passenger():seatnum(0){}</p><p>  char *getname() </p><p>

39、<b>  {</b></p><p>  return name;</p><p><b>  }</b></p><p>  int getnote() //返回刪除標(biāo)記</p><p><b>  {</b></p><p>  retur

40、n note;</p><p><b>  }</b></p><p>  int getID() </p><p><b>  {</b></p><p>  return ID;</p><p><b>  }</b></p>&l

41、t;p>  void setname(char na[]) //修改姓名</p><p><b>  {</b></p><p>  strcpy(name,na);</p><p><b>  }</b></p><p>  int getseatnum() </p>

42、<p><b>  {</b></p><p>  return seatnum;</p><p><b>  }</b></p><p>  void addbook(int n,char *na,int id,int seat) //訂票操作</p><p><b>

43、  {</b></p><p><b>  note=0;</b></p><p>  flightnum=n;</p><p><b>  ID=id;</b></p><p>  seatnum=seat;</p><p>  strcpy(name,na);

44、</p><p><b>  }</b></p><p>  void delpassenger() //刪除乘客信息</p><p><b>  {</b></p><p><b>  note=1;</b></p><p><b&

45、gt;  }</b></p><p>  void list() // 顯示乘客信息</p><p><b>  {</b></p><p>  cout<<"客戶姓名"<<" "<<"客戶編號(hào)"<<"

46、 "<<"已定航班號(hào)"<<" "<<"座位號(hào)"<<endl;</p><p>  cout<<name<<" "<<setw(5)<<ID<<"

47、 "<<setw(5)<<flightnum<<" "<<setw(5)<<seatnum<<endl;</p><p><b>  }</b></p><p><b>  };</b></p><

48、;p>  乘客信息庫(kù)類與飛機(jī)信息庫(kù)類實(shí)現(xiàn)的功能原理類似,記錄了乘客類的對(duì)象數(shù)組。主函數(shù)實(shí)現(xiàn)了主操作界面的程序。</p><p>  class PDatabase //乘客信息庫(kù)類</p><p><b>  {</b></p><p><b>  private:</b></p><p>

49、;  int top; </p><p>  Passenger passer[Maxb]; </p><p><b>  public:</b></p><p>  PDatabase()</p><p><b>  {</b></p><p>

50、;  Passenger p;</p><p><b>  top=-1;</b></p><p>  fstream file("customer.dat",ios::in);</p><p><b>  while(1)</b></p><p><b>  {<

51、;/b></p><p>  file.read((char *)&p,sizeof(p));</p><p><b>  if(!file)</b></p><p><b>  break;</b></p><p><b>  top++;</b></p&

52、gt;<p>  passer[top]=p;</p><p><b>  }</b></p><p>  file.close();</p><p><b>  }</b></p><p>  void settop()</p><p><b>  

53、{</b></p><p><b>  top--;</b></p><p><b>  }</b></p><p>  void clear()</p><p><b>  {</b></p><p><b>  top=-1;&

54、lt;/b></p><p>  cout<<"乘客信息刪除成功!"<<endl;</p><p><b>  }</b></p><p>  int addbook(int n,char *na,int id,int seat)</p><p><b>  {

55、</b></p><p>  Passenger *s=query(n);</p><p>  if(s==NULL)</p><p><b>  {</b></p><p><b>  top++;</b></p><p>  passer[top].addbo

56、ok(n,na,id,seat);</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><

57、;p>  Passenger *query(int id)</p><p><b>  {</b></p><p>  for(int i=0;i<=top;i++)</p><p>  if(passer[i].getID()==id && passer[i].getnote()==0)</p>&l

58、t;p>  return &passer[i];</p><p>  return NULL;</p><p><b>  }</b></p><p>  Passenger *query1(int seat)</p><p><b>  {</b></p><p&

59、gt;  for(int i=0;i<=top;i++)</p><p>  if(passer[i].getseatnum()!=seat && passer[i].getnote()==0)</p><p>  return &passer[i];</p><p><b>  else</b></p>

60、;<p>  return NULL;</p><p><b>  }</b></p><p>  void list()</p><p><b>  {</b></p><p>  for(int i=0;i<=top;i++)</p><p>  if

61、(passer[i].getnote()==0)</p><p>  passer[i].list();</p><p><b>  }</b></p><p>  void passengerdata();</p><p>  ~PDatabase()</p><p><b>  {&

62、lt;/b></p><p>  fstream file("customer.dat",ios::out);</p><p>  for(int i=0;i<=top;i++)</p><p>  if(passer[i].getnote()==0)</p><p>  file.write((char *)

63、& passer[i],sizeof(passer[i]));</p><p>  file.close();</p><p><b>  }</b></p><p><b>  };</b></p><p>  主要功能:此航空系統(tǒng)管理可以進(jìn)行新增航班,更改航班,查找航班,顯示航班信息,刪

64、除航班??蛻艨梢赃M(jìn)行訂票,退票,客戶資料修改,查找,刪除等操作。</p><p><b>  具體實(shí)現(xiàn)過(guò)程:</b></p><p>  新增航線的實(shí)現(xiàn)過(guò)程:通過(guò)錄入航線的飛機(jī)號(hào),航班號(hào),目的地。系統(tǒng)會(huì)存入到飛機(jī)的對(duì)象數(shù)組里,一個(gè)飛機(jī)就是一個(gè)對(duì)象,然后存入飛機(jī)的對(duì)象數(shù)組中,這主要通過(guò)飛機(jī)信息類中的addplane()函數(shù)在調(diào)用飛機(jī)類中的addplane()函數(shù)實(shí)現(xiàn)存入

65、飛機(jī)的基本信息,同時(shí)這一個(gè)飛機(jī)的信息作為一個(gè)對(duì)象保存在飛機(jī)類的對(duì)象數(shù)組中。如果想要把這個(gè)新增的飛機(jī)寫(xiě)入文件的話,通過(guò)飛機(jī)信息庫(kù)類的中析構(gòu)函數(shù)寫(xiě)入文件,所以每當(dāng)要儲(chǔ)存進(jìn)文件,則需要推出系統(tǒng)后保存,則下次進(jìn)入后你將會(huì)看到在飛機(jī)信息類中會(huì)看到飛機(jī)的信息。</p><p>  更改航班操作的實(shí)現(xiàn)過(guò)程:先要錄入你要更改的航班號(hào),系統(tǒng)會(huì)找到那個(gè)航班,這樣你可以進(jìn)行目的地修改的操作。通過(guò)飛機(jī)信息庫(kù)類中的query()函數(shù)進(jìn)行查

66、找,利用for循環(huán),逐個(gè)查找,當(dāng)找到的飛機(jī)航班號(hào)與輸入的航班號(hào)相同時(shí),進(jìn)行輸出。并通過(guò)飛機(jī)類的setname()函數(shù)對(duì)目的地的字符串利用strcpy()函數(shù)進(jìn)行覆蓋。所以這個(gè)飛機(jī)對(duì)象的目的地就改變了。</p><p>  查找航班的實(shí)現(xiàn)過(guò)程:輸入航班號(hào),利用飛機(jī)信息庫(kù)類中的query()函數(shù)查找,最后返回對(duì)象,并輸出對(duì)象。</p><p>  顯示航班信息的實(shí)現(xiàn)過(guò)程:利用飛機(jī)信息庫(kù)類中的l

67、ist()函數(shù)進(jìn)行輸出對(duì)象數(shù)組中的對(duì)象。</p><p>  刪除航班過(guò)程的實(shí)現(xiàn):可以刪除單個(gè)航班,也可以刪除全部,刪除單個(gè)航班先輸入航班號(hào)查找出航班,然后通過(guò)調(diào)用飛機(jī)類的delplane()函數(shù)進(jìn)行信息存在標(biāo)記的改變。刪除全部直接更改飛機(jī)對(duì)象數(shù)組中的下標(biāo)即可。</p><p>  訂票的實(shí)現(xiàn):首先輸入航班號(hào),如果沒(méi)有此航班會(huì)提示錯(cuò)誤,直到有此航班后才能進(jìn)行下一步操作,然戶輸入姓名,客戶編

68、號(hào),座位號(hào),客戶編號(hào)是客戶自己擁有的一個(gè)ID,座位號(hào)用戶可以自己預(yù)定。如果作為被預(yù)定后,會(huì)顯示錯(cuò)誤需要重新預(yù)定座位號(hào)。調(diào)用乘客信息庫(kù)類中的addbook()函數(shù)在調(diào)用乘客類中的addbook()函數(shù)進(jìn)行賦值操作,而且此航班的信息中余票數(shù)會(huì)減少一個(gè),已定票數(shù)會(huì)增加一個(gè)。同時(shí)將此乘客的信息存入乘客對(duì)象數(shù)組中。</p><p>  退票的實(shí)現(xiàn):輸入航班號(hào),用戶編號(hào)。系統(tǒng)會(huì)查找出此客戶,并會(huì)通過(guò)乘客信息類的delpass

69、enger()函數(shù)設(shè)置刪除標(biāo)記。已達(dá)到刪除乘客信息的效果,就達(dá)到了退票的效果,而且飛機(jī)信息中的余票數(shù)會(huì)增加1,訂票數(shù)會(huì)減少1。</p><p>  客戶資料修改的實(shí)現(xiàn)過(guò)程:通過(guò)輸入用戶ID后,查找出當(dāng)前客戶,可以進(jìn)行客戶信息的姓名修改,調(diào)用setname()函數(shù)修改姓名。</p><p><b>  四、上機(jī)調(diào)試過(guò)程:</b></p><p>

70、  問(wèn)題:在調(diào)試過(guò)程時(shí)經(jīng)常會(huì)遇到一些類與類內(nèi)嵌時(shí)有函數(shù)未定義的情況,明明已經(jīng)定義過(guò)類了,但編譯時(shí)顯示類未定義,對(duì)象為定義,不能互相訪問(wèn),還有的時(shí)候由于定義的標(biāo)示符過(guò)多,導(dǎo)致會(huì)編寫(xiě)錯(cuò)誤標(biāo)示符,還有一些小錯(cuò)誤,比如符號(hào)漏寫(xiě)等,這些錯(cuò)誤都是很好看出來(lái)。最難的錯(cuò)誤應(yīng)該是在嵌套過(guò)程中的邏輯問(wèn)題,有的時(shí)候會(huì)調(diào)用錯(cuò)誤函數(shù),有的時(shí)候會(huì)很混亂,整個(gè)思路就亂了。</p><p>  修改:在嵌套時(shí)要注意有沒(méi)有先定義對(duì)象到另一個(gè)類中,

71、定義函數(shù)時(shí),如果函數(shù)體短的函數(shù)直接定義為內(nèi)聯(lián)函數(shù),這樣不會(huì)有忘定義的現(xiàn)象產(chǎn)生。在類與類嵌套時(shí)應(yīng)該注意類前向引用聲明。類與類的邏輯問(wèn)題還是靜下心來(lái)梳理一下自己的思路,這是我覺(jué)得最好的辦法了。</p><p><b>  五、測(cè)試結(jié)果及分析</b></p><p>  1、程序一開(kāi)始的登錄界面(主界面)</p><p>  2、在主界面選擇3 進(jìn)入

72、客戶管理系統(tǒng)</p><p>  3、在主界面選擇4 進(jìn)入航線管理系統(tǒng)</p><p>  4、在航線管理系統(tǒng)中選擇 5 顯示系統(tǒng)中存儲(chǔ)的所有航線信息</p><p>  5、在主界面中選擇1 訂票 并成功完成了預(yù)訂</p><p><b>  六、設(shè)計(jì)后的感想</b></p><p>  經(jīng)過(guò)了

73、2個(gè)星期的課程設(shè)計(jì),自己獨(dú)自一人完成了一個(gè)小小的管理系統(tǒng)的程序編寫(xiě),可謂是感觸頗多。從一開(kāi)始構(gòu)思,到后來(lái)的實(shí)踐,查找資料,找出語(yǔ)法錯(cuò)誤,最后終于能運(yùn)行了,但一運(yùn)行便出現(xiàn)了很多BUG,然后就開(kāi)始了漫長(zhǎng)的測(cè)試期,不斷的修改,不斷的找到BUG,測(cè)試期的遠(yuǎn)遠(yuǎn)大過(guò)編程期,其實(shí)測(cè)試也是一個(gè)非常艱巨的工程。這使我想起了許多游戲公司,每當(dāng)一款游戲完成制作后,都會(huì)聘請(qǐng)一些玩家去進(jìn)行測(cè)試,看看有沒(méi)有BUG,以便及時(shí)修改,才不至于上市后被人發(fā)現(xiàn)BUG的尷尬,

74、然后又會(huì)去打補(bǔ)丁。其實(shí)測(cè)試時(shí)一個(gè)漫長(zhǎng)的過(guò)程,我這個(gè)程序的測(cè)試期遠(yuǎn)遠(yuǎn)沒(méi)有結(jié)束,現(xiàn)在仍然存在BUG,并不是最完美的狀態(tài),不過(guò)我會(huì)繼續(xù)改進(jìn)。這段時(shí)間真的收獲了許多書(shū)上沒(méi)有的東西,最關(guān)鍵是我找到了編程的思路和感覺(jué)。突然發(fā)現(xiàn)編程其實(shí)可以這么簡(jiǎn)單!</p><p>  這次課程設(shè)計(jì)歷時(shí)二個(gè)星期多左右,通過(guò)課程設(shè)計(jì),發(fā)現(xiàn)自己的很多不足,自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。<

75、/p><p>  盡管自己在學(xué)習(xí)C與C++上都不太懂,但我明白這都是自己平時(shí)不努力的結(jié)果,因?yàn)檫@次課程設(shè)計(jì)是一門(mén)課程,對(duì)每個(gè)人的要求也特別高,所以我必須得自己去搞懂一些東西,比如說(shuō):類是什么東西?類的作用是什么?何為鏈表?這些在高手看來(lái)都很簡(jiǎn)單的東西,對(duì)我來(lái)說(shuō)非常的難以理解。因?yàn)槠綍r(shí)根本就不看書(shū)的緣故。在任務(wù)剛布置下來(lái)的時(shí)候,甚至感覺(jué)到了緊張和憂慮,因?yàn)檎麄€(gè)班級(jí)做“航天售票系統(tǒng)”這個(gè)題目的就我一人,但自己想想:既然這

76、個(gè)題目輪到我,那這就是我自己的事情,我必須得自己想辦法去解決。于是,從不在學(xué)校圖書(shū)館借閱專業(yè)圖書(shū)的我瘋狂地一口氣接了四本專業(yè)書(shū)籍,其中兩本C++,兩本CB,借完抱回宿舍一看,感覺(jué)就跟天書(shū)一樣,就是看不懂。當(dāng)我正準(zhǔn)備放棄的時(shí)候,有同學(xué)跟我說(shuō):“如果你愿意花時(shí)間的話,先把學(xué)校發(fā)的書(shū)多看看”。我聽(tīng)從他的建議,把課本翻出來(lái)慢慢的研究,好像感覺(jué)有一些極小的問(wèn)題,自己能夠獨(dú)立解決了。這對(duì)我來(lái)說(shuō)就是一個(gè)非常大的收獲!</p><p

77、>  一點(diǎn)小的收獲能夠讓我看見(jiàn)更大的力量,感覺(jué)自己渾身充滿著干勁,真的特別希望能夠通過(guò)這次課程設(shè)計(jì),促使自己將以前沒(méi)有看過(guò)的書(shū)都看一遍、由此來(lái)使自己的C++水平更上一層樓!</p><p>  這次的課程設(shè)計(jì)也讓我看到了同學(xué)之間相互幫助的力量,我認(rèn)為我們班進(jìn)行的這次課程設(shè)計(jì)不僅僅是一次鍛煉,還讓我們見(jiàn)到了同學(xué)之間的相互幫助,當(dāng)一個(gè)同學(xué)在處理一些問(wèn)題遇到困難的時(shí)候,總會(huì)看到有一些其他會(huì)做的同學(xué)積極的去幫助他解

78、決這些難題。這次課程設(shè)計(jì)讓我看到了一個(gè)團(tuán)隊(duì)的工作,團(tuán)隊(duì)需要個(gè)人,個(gè)人也離不開(kāi)團(tuán)隊(duì),大家都在努力發(fā)揚(yáng)團(tuán)結(jié)協(xié)作的精神,因?yàn)槊總€(gè)人都希望自己的課程設(shè)計(jì)這門(mén)課能夠順利的通過(guò)。剛開(kāi)始的時(shí)候,大家就已經(jīng)做好了迎接挑戰(zhàn)的準(zhǔn)備,據(jù)我私下里了解,有些同學(xué)為了這次課程設(shè)計(jì),從不熬夜的他們基本每天晚上研究到夜里一兩點(diǎn)才睡,真的很敬佩這些同學(xué)的干勁。其實(shí)在這個(gè)班級(jí),C++這門(mén)課程還是有一定的區(qū)分度的,但好像起先就分配好了各自的任務(wù),底子薄的同學(xué)先去自己編寫(xiě)一些

79、自己能夠?qū)懗龅臇|西,而后請(qǐng)功底好的同學(xué)進(jìn)行加工,將程序完善化。關(guān)于每個(gè)程序要求做出來(lái)的界面,以及對(duì)每個(gè)題目的理解,大家都會(huì)經(jīng)常表達(dá)自己的看法,往往會(huì)把一些某個(gè)人想不到的問(wèn)題給提出來(lái),減少了每個(gè)人為了解決一些常見(jiàn)的錯(cuò)誤而絞盡腦汁而所用的時(shí)間,不論結(jié)果如何,大家都會(huì)經(jīng)常聚在一起討論各個(gè)方案的可行性。在課程設(shè)計(jì)中只有一個(gè)人知道如何讓程序正確、如何讓</p><p>  在這個(gè)過(guò)程中,我也曾經(jīng)因?yàn)槔碚撝R(shí)和實(shí)踐能力的缺乏

80、失落過(guò),也曾經(jīng)仿真成功而熱情高漲。生活就是這樣,汗水預(yù)示著結(jié)果也見(jiàn)證著收獲。勞動(dòng)是人類生存生活永恒不變的話題。雖然這個(gè)題目或許對(duì)某些人來(lái)說(shuō)只是一次的普通的課程設(shè)計(jì)(航空售票系統(tǒng)),可是平心而論,也耗費(fèi)了我不少的心血,這就讓我不得不佩服我們班那些C++學(xué)的特別好的同學(xué),真不知道他們是如何做到的,而我更佩服放入是那些專門(mén)搞軟件開(kāi)發(fā)的技術(shù)前輩,通過(guò)這次課程設(shè)計(jì)才知道編一個(gè)簡(jiǎn)單的系統(tǒng)需要消耗多大的氣力,更別說(shuō)那些成千上萬(wàn)行的大系統(tǒng),直到現(xiàn)在我才

81、意識(shí)到老一輩對(duì)我們社會(huì)的付出,為了人們的生活更美好,他們?yōu)槲覀兩鐣?huì)所付出多少心血??!</p><p>  通過(guò)這次課程設(shè)計(jì),我想說(shuō):為完成這次課程設(shè)計(jì)我們確實(shí)很辛苦,但苦中仍有樂(lè),和班級(jí)同學(xué)一起在同一個(gè)教室學(xué)習(xí)努力的日子,讓我們有說(shuō)有笑,相互幫助,配合默契,多少人間歡樂(lè)在這里灑下,大學(xué)里一年的相處還趕不上這十來(lái)天的學(xué)習(xí),我感覺(jué)我和同學(xué)們之間的距離更加近了。這個(gè)題目一直堅(jiān)持做下來(lái)確實(shí)很累,但當(dāng)我們每個(gè)人的程序運(yùn)行都

82、宣告成功的時(shí)候,當(dāng)我們點(diǎn)擊運(yùn)行按鈕,顯示沒(méi)有錯(cuò)誤,當(dāng)我們一句顯示屏上的要求去驗(yàn)證任務(wù)書(shū)上所標(biāo)明的功能,并且都能實(shí)現(xiàn)的時(shí)候,內(nèi)心深處盡然有一種說(shuō)不出的興奮和激動(dòng)。這兩個(gè)星期的種種艱辛在此時(shí)此刻都變成了最甜美的回憶!</p><p>  對(duì)我而言,這不僅僅是一次課程設(shè)計(jì),更多的給我?guī)?lái)的知識(shí)上的重大收獲,精神上的豐收更加可喜。它讓我懂得了看書(shū)的重要性,讓我明白團(tuán)結(jié)合作的重要行,更讓我知道了學(xué)無(wú)止境的道理。我們每一個(gè)人

83、都不能永遠(yuǎn)能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次課程設(shè)計(jì)必將成為我人生旅途上一個(gè)非常美好的回憶!</p><p><b>  七、參考文獻(xiàn)</b></p><p>  1、鄭莉、董淵、張瑞豐 C++語(yǔ)言程序設(shè)計(jì)(第三版) 清華大學(xué)出版社 2004年1月</p><p>&

84、lt;b>  附錄:</b></p><p>  #include<iostream.h></p><p>  #include<iomanip.h></p><p>  #include<string.h></p><p>  #include<fstream.h><

85、/p><p>  #include<stdlib.h></p><p>  const int Maxp=10; //最大飛機(jī)數(shù)</p><p>  const int Maxb=100; //最大乘客數(shù)</p><p>  const int Maxs=100; //最大座位數(shù)</p><p>  cl

86、ass Passenger //乘客類</p><p><b>  { </b></p><p><b>  private:</b></p><p>  int note; //刪除標(biāo)記 1:已刪,0:未刪</p><p>  int flightnum; //航班號(hào)</p>&

87、lt;p>  char name[20]; //乘客姓名</p><p>  int ID; //乘客編號(hào)</p><p>  int seatnum; //座位號(hào)</p><p><b>  public:</b></p><p>  Passenger():seatnum(0){}</p>

88、;<p>  char *getname() </p><p><b>  {</b></p><p>  return name;</p><p><b>  }</b></p><p>  int getnote() //返回刪除標(biāo)記</p><p&

89、gt;<b>  {</b></p><p>  return note;</p><p><b>  }</b></p><p>  int getID() </p><p><b>  {</b></p><p>  return ID;<

90、/p><p><b>  }</b></p><p>  void setname(char na[]) //修改姓名</p><p><b>  {</b></p><p>  strcpy(name,na);</p><p><b>  }</b>&

91、lt;/p><p>  int getseatnum() </p><p><b>  {</b></p><p>  return seatnum;</p><p><b>  }</b></p><p>  void addbook(int n,char *na,int

92、 id,int seat) //訂票操作</p><p><b>  {</b></p><p><b>  note=0;</b></p><p>  flightnum=n;</p><p><b>  ID=id;</b></p><p> 

93、 seatnum=seat;</p><p>  strcpy(name,na);</p><p><b>  }</b></p><p>  void delpassenger() //刪除乘客信息</p><p><b>  {</b></p><p>&l

94、t;b>  note=1;</b></p><p><b>  }</b></p><p>  void list() // 顯示乘客信息</p><p><b>  {</b></p><p>  cout<<"客戶姓名"<<

95、" "<<"客戶編號(hào)"<<" "<<"已定航班號(hào)"<<" "<<"座位號(hào)"<<endl;</p><p>  cout<<name<<"

96、"<<setw(5)<<ID<<" "<<setw(5)<<flightnum<<" "<<setw(5)<<seatnum<<endl;</p><p><b>  }</b></p

97、><p><b>  };</b></p><p>  class Flight //飛機(jī)類</p><p><b>  {</b></p><p><b>  private:</b></p><p>  int note; //刪除標(biāo)記 1:已刪,0

98、:未刪</p><p>  int flightnum; //航班號(hào)</p><p>  int planenum; //飛機(jī)號(hào) </p><p>  char destination[20]; //目的地</p><p>  int bookednum; //已定票數(shù)</p><p>  in

99、t refundnum; //余票</p><p><b>  public:</b></p><p>  Flight():bookednum(0),refundnum(100){}</p><p>  char *getdes()</p><p><b>  {</b></p&g

100、t;<p>  return destination;</p><p><b>  }</b></p><p>  int getnote()</p><p><b>  {</b></p><p>  return note;</p><p><b>

101、;  }</b></p><p>  int getflightnum() </p><p><b>  {</b></p><p>  return flightnum;</p><p><b>  }</b></p><p>  int getplanenum

102、()</p><p><b>  {</b></p><p>  return planenum;</p><p><b>  }</b></p><p>  void setrefund() //訂票后對(duì)余票和已定票數(shù)的操作</p><p><b>

103、;  {</b></p><p>  bookednum++;</p><p>  refundnum--;</p><p><b>  }</b></p><p>  void delrefund() //退票后對(duì)余票和已定票數(shù)的操作</p><p><b>

104、;  {</b></p><p>  bookednum--;</p><p>  refundnum++;</p><p><b>  }</b></p><p>  void setname(char de[]) </p><p><b>  {</b>&

105、lt;/p><p>  strcpy(destination,de);</p><p><b>  }</b></p><p>  void delplane() //刪除飛機(jī)的操作</p><p><b>  {</b></p><p><b>  note=1;

106、</b></p><p><b>  }</b></p><p>  void addplane(int n,int m, char *de) //增加飛機(jī)</p><p><b>  {</b></p><p><b>  note=0;</b></p&g

107、t;<p>  flightnum=m;</p><p>  planenum=n;</p><p>  strcpy(destination,de);</p><p><b>  }</b></p><p>  void list()</p><p><b>  {<

108、;/b></p><p>  cout<<"飛機(jī)號(hào)"<<" "<<" 航班號(hào)"<<" "<< "目的地" <<" "<<"已定票數(shù)&quo

109、t;<<" "<<"剩余票數(shù)"<<endl;</p><p>  cout<<planenum<<" "<<setw(5)<<flightnum<<" "<<setw

110、(10)<<destination<<" "<<setw(5)<<bookednum<<" "<<setw(5)<<refundnum<<endl;</p><p><b>  }</b></p>

111、<p><b>  };</b></p><p>  class FDatabase //飛機(jī)信息庫(kù)類 </p><p><b>  {</b></p><p><b>  private:</b></p><p>  int top; //記錄數(shù)

112、組下標(biāo)</p><p>  Flight Fl[Maxp]; //飛機(jī)類的對(duì)象數(shù)組</p><p><b>  public:</b></p><p>  FDatabase()</p><p><b>  {</b></p><p><b>  Fligh

113、t f;</b></p><p><b>  top=-1;</b></p><p>  fstream file("airline.dat",ios::in); //文件打開(kāi)</p><p><b>  while(1)</b></p><p><b>

114、;  {</b></p><p>  file.read((char *)&f,sizeof(f));</p><p><b>  if(!file)</b></p><p><b>  break;</b></p><p><b>  top++;</b>

115、</p><p>  Fl[top]=f;</p><p><b>  }</b></p><p>  file.close();</p><p><b>  }</b></p><p>  void clear() //清楚所有航班的操作 </p&

116、gt;<p><b>  {</b></p><p><b>  top=-1;</b></p><p>  cout<<"航班信息已刪除!"<<endl;</p><p><b>  }</b></p><p>  i

117、nt addplane(int n,int m,char *de) //增加飛機(jī)</p><p><b>  {</b></p><p>  Flight *fl=query(n);</p><p>  if(fl==NULL)</p><p><b>  {</b></p>&l

118、t;p><b>  top++;</b></p><p>  Fl[top].addplane(n,m,de);</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  return 0;<

119、;/b></p><p><b>  }</b></p><p>  Flight *query(int pflightnum) //對(duì)象指針 用于查找等操作</p><p><b>  {</b></p><p>  for(int i=0;i<=top;i++)</p>

120、;<p>  if(Fl[i].getflightnum()==pflightnum && Fl[i].getnote()==0)</p><p>  return &Fl[i];</p><p>  return NULL;</p><p><b>  }</b></p><p>

121、  Flight *query1(int pplanenum)</p><p><b>  {</b></p><p>  for(int i=0;i<=top;i++)</p><p>  if(Fl[i].getplanenum()==pplanenum && Fl[i].getnote()==0)</p>

122、<p>  return &Fl[i];</p><p>  return NULL;</p><p><b>  }</b></p><p>  void list()</p><p><b>  {</b></p><p>  for(int i=0

123、;i<=top;i++)</p><p>  if(Fl[i].getnote()==0)</p><p>  Fl[i].list();</p><p><b>  }</b></p><p>  void planedata();</p><p>  ~FDatabase()</p

124、><p><b>  {</b></p><p>  fstream file("airline.dat",ios::out);</p><p>  for(int i=0;i<=top;i++)</p><p>  if(Fl[i].getnote()==0)</p><p&g

125、t;  file.write((char *)& Fl[i],sizeof(Fl[i]));</p><p>  file.close();</p><p><b>  }</b></p><p><b>  };</b></p><p>  void FDatabase::planedat

126、a() //飛機(jī)管理系統(tǒng)界面的實(shí)現(xiàn)</p><p><b>  {</b></p><p>  int choice=1;</p><p>  char destiname[20];</p><p>  int pflightnum;</p><p>  int pplanenum

127、;</p><p>  Flight *r;</p><p>  system("cls");</p><p>  while(choice!=0)</p><p><b>  {</b></p><p>  cout<<"****************

128、*航線信息管理*****************"<<endl;</p><p>  cout<<"★ 1:新增航線 ★"<<endl;</p><p>  cout<<"★ 2:更改航線

129、 ★"<<endl;</p><p>  cout<<"★ 3:刪除航線 ★"<<endl;</p><p>  cout<<"★ 4:查找航線 ★"<<endl;&

130、lt;/p><p>  cout<<"★ 5:顯示所有航線 ★"<<endl; </p><p>  cout<<"★ 6:刪除所有航線 ★"<<endl; </p><p>  co

131、ut<<"★ 0:退出 ★"<<endl;</p><p>  cout<<"**********************************************"<<endl;</p><p>  cout<<&qu

132、ot;請(qǐng)輸入";</p><p>  cin>>choice;</p><p>  switch(choice)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  cout<<&q

133、uot;請(qǐng)輸入飛機(jī)號(hào):";</p><p>  cin>>pplanenum;</p><p>  cout<<"請(qǐng)輸入航班號(hào):" ;</p><p>  cin>>pflightnum;</p><p>  cout<<"請(qǐng)輸入目的地:";&l

134、t;/p><p>  cin>>destiname;</p><p>  addplane(pplanenum,pflightnum,destiname);</p><p>  cout<<"添加成功"<<endl;</p><p><b>  break;</b>&l

135、t;/p><p><b>  case 2:</b></p><p>  cout<<"請(qǐng)輸入飛機(jī)號(hào):";</p><p>  cin>>pplanenum;</p><p>  r=query1(pplanenum);</p><p>  if(r==NU

136、LL)</p><p><b>  {</b></p><p>  cout<<"該飛機(jī)不存在"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p

137、>  cout<<"請(qǐng)輸入飛機(jī)目的地:";</p><p>  cin>>destiname;</p><p>  r->setname(destiname);</p><p><b>  break;</b></p><p><b>  case 3:&

138、lt;/b></p><p>  cout<<"請(qǐng)輸入飛機(jī)號(hào):";</p><p>  cin>>pplanenum;</p><p>  r=query1(pplanenum);</p><p>  if(r==NULL)</p><p><b>  {&l

139、t;/b></p><p>  cout<<"無(wú)此飛機(jī)的信息!"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  r->delplane();</p>&

140、lt;p>  cout<<"已成功刪除此飛機(jī)信息"<<endl;</p><p><b>  top--;</b></p><p><b>  break;</b></p><p><b>  case 4:</b></p><p&

141、gt;  cout<<"請(qǐng)輸入航班號(hào):";</p><p>  cin>>pflightnum;</p><p>  r=query(pflightnum);</p><p>  if(r==NULL)</p><p><b>  {</b></p><p&

142、gt;  cout<<"該航班不存在"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  r->list();</p><p><b>  break;</b&

143、gt;</p><p><b>  case 5:</b></p><p><b>  if(top<0)</b></p><p>  cout<<"沒(méi)有航班信息,請(qǐng)進(jìn)行新增航班操作!"<<endl;</p><p>  cout<<en

144、dl;</p><p><b>  list();</b></p><p>  cout<<endl;</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p><b> 

145、 clear();</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  system("cls"); //刷屏</p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論