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

下載本文檔

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

文檔簡介

1、<p>  《C++程序設(shè)計》課程設(shè)計</p><p><b>  設(shè)計報告</b></p><p>  計算機(jī)科學(xué)與技術(shù)學(xué)院</p><p><b>  目錄</b></p><p>  需求分析……………………………………………3</p><p>  1.1輸入

2、形式………………………………………………3</p><p>  1.2輸出形式………………………………………………3</p><p>  1.3程序功能………………………………………………3</p><p>  1.4測試數(shù)據(jù)………………………………………………3</p><p>  概要設(shè)計……………………………………………3</p&

3、gt;<p>  2.1流程分析………………………………………………3</p><p>  2.2具體步驟………………………………………………3</p><p>  2.3功能模塊………………………………………………4</p><p>  詳細(xì)設(shè)計………………………………………………4</p><p>  3.1流程圖……………

4、……………………………………4</p><p>  3.2源代碼…………………………………………………5</p><p>  調(diào)試分析 ………………………………………… 14</p><p>  4.1調(diào)試……………………………………………………20</p><p>  4.2驗與總結(jié)………………………………………………21</p>

5、;<p>  5.參考文獻(xiàn)……………………………………………21</p><p><b>  第一章 需求分析</b></p><p>  本程序使用visual studio 2010 C++語言編寫,完成訂票系統(tǒng)的錄入,查詢,訂票,退票及增加、刪除、修改航班信息。</p><p>  1.1 輸入的形式和輸入值的范圍<

6、/p><p>  輸入的形式是數(shù)字、人名及編號。 輸入值的范圍:無。</p><p><b>  1.2輸出的形式</b></p><p>  輸出為訂票,包含姓名,座位號等。</p><p>  1.3程序所能達(dá)到的功能</p><p>  本程序編寫完成后能達(dá)到訂票的生成及修改,退訂,查詢和退出。

7、</p><p><b>  1.4測試數(shù)據(jù)</b></p><p>  進(jìn)入訂票系統(tǒng)后,選擇訂票,輸入姓名aaa。</p><p>  再根據(jù)選項依次選擇進(jìn)行測試。</p><p><b>  第二章 概要設(shè)計</b></p><p>  2.1 實現(xiàn)流程分析:</

8、p><p>  采用類模塊和文件想結(jié)合的方式實現(xiàn)該操作,首先定義一個airline類并將一些基本數(shù)據(jù)定義為類的共有成員,同時設(shè)置成員函數(shù)來設(shè)置數(shù)據(jù)和輸出數(shù)據(jù)。</p><p><b>  2.2具體步驟</b></p><p>  訂票:運(yùn)用類的成員函數(shù)設(shè)置數(shù)據(jù)并寫到文件中去,然后在后面的程序中讀出。</p><p>  退

9、票:將文件中的數(shù)據(jù)讀出,用for循環(huán)語句進(jìn)行查找并修改數(shù)據(jù)</p><p>  查詢:用for循環(huán)語句進(jìn)行查找并讀出,沒有數(shù)據(jù)的顯示錯誤</p><p>  主函數(shù):用while語句制作菜單,用戶根據(jù)需要進(jìn)行選擇</p><p><b>  2.3系統(tǒng)功能模塊</b></p><p> ?。?)錄入(航班相關(guān)記錄)功能模

10、塊</p><p> ?。?)查詢(航班相關(guān)記錄)功能模塊</p><p><b> ?。?)訂票功能模塊</b></p><p><b> ?。?)退票功能模塊</b></p><p>  (4)退出系統(tǒng)功能模塊</p><p><b>  第三章 詳細(xì)設(shè)計&l

11、t;/b></p><p><b>  3.1流程圖</b></p><p><b>  3.2 源代碼</b></p><p>  #include <stdio.h></p><p>  #include <string.h></p><p>

12、;  #include <malloc.h></p><p>  #include "conio.h"</p><p>  #define OK 1 //1.避免幻數(shù)出現(xiàn)(幻數(shù)即諸如0,1,100之類的數(shù)字常量,因為無法從字面上看出該數(shù)字代表的意義,所以通常用宏替換,讓人一看就明白其代表的意義,如ERROR錯誤,OK正確) </p><

13、p>  #define ERROR 0 //2.便于修改,如果要更改ERROR或OK的定義只需修改宏定義即可,不用再在編碼中尋找一個個修改。</p><p>  typedef struct airline{</p><p>  char air_num[8];</p><p>  char plane_num[8];</p><p>

14、  char end_place[20];</p><p>  int total;</p><p><b>  int left;</b></p><p>  struct airline *next;</p><p><b>  }airline;</b></p><p>

15、;  typedef struct customer{</p><p>  char name[8];</p><p>  char air_num[8];</p><p>  int seat_num;</p><p>  struct customer *next;</p><p>  }customer;<

16、/p><p>  airline *start_air() </p><p><b>  {</b></p><p>  airline *a;</p><p>  a=(airline*)malloc(sizeof(airline));</p><p>  if(a==NULL)</p>

17、<p>  a->next=NULL;</p><p><b>  return a;</b></p><p><b>  }</b></p><p>  customer *start_cus()</p><p><b>  {</b></p>

18、<p>  customer *c;</p><p>  c=(customer*)malloc(sizeof(customer));</p><p>  if(c==NULL)</p><p>  c->next=NULL;</p><p><b>  return c;</b></p>

19、<p><b>  }</b></p><p>  airline *modefy_airline(airline *l,char *air_num)</p><p><b>  {</b></p><p>  airline *p;</p><p>  p=l->next;&l

20、t;/p><p>  for(;p!=NULL;p=p->next)</p><p><b>  {</b></p><p>  if(strcmp(air_num,p->air_num)==0)</p><p><b>  {</b></p><p>  p->

21、;left++;</p><p><b>  return l;</b></p><p><b>  }</b></p><p>  printf("沒有這趟航班!");</p><p><b>  return 0;</b></p><

22、p><b>  }</b></p><p><b>  }</b></p><p>  int insert_air(airline **p,char *air_num,char *plane_num,char *end_place,int total,int left)</p><p><b>  {&l

23、t;/b></p><p>  airline *q;</p><p>  q=(airline*)malloc(sizeof(airline));</p><p>  strcpy(q->air_num,air_num);</p><p>  strcpy(q->plane_num,plane_num);</p>

24、;<p>  strcpy(q->end_place,end_place);</p><p>  q->total=total;</p><p>  q->left=left;</p><p>  q->next=NULL;</p><p>  (*p)->next=q;</p>&l

25、t;p>  (*p)=(*p)->next;</p><p>  return OK;</p><p><b>  }</b></p><p>  int insert_cus(customer **p,char *name,char *air_num,int seat_num)</p><p><b&

26、gt;  {</b></p><p>  customer *q;</p><p>  q=(customer*)malloc(sizeof(customer));</p><p>  strcpy(q->name,name);</p><p>  strcpy(q->air_num,air_num);</p&g

27、t;<p>  q->seat_num=seat_num;</p><p>  q->next=NULL;</p><p>  (*p)->next=q;</p><p>  (*p)=(*p)->next;</p><p>  return OK;</p><p><b&g

28、t;  }</b></p><p>  int book(airline *a,char *air_num,customer *c,char *name)</p><p><b>  {</b></p><p>  airline *p=a;</p><p>  customer *q=c->next;

29、</p><p>  p=a->next;</p><p>  for(;q->next!=NULL;q=q->next){}</p><p>  for(;p->next!=NULL;p=p->next)</p><p><b>  {</b></p><p>  

30、if(p->left>0)</p><p><b>  {</b></p><p>  printf("您的座位號是:%d",(p->total-p->left+1));</p><p>  insert_cus(&q,name,air_num,p->total-p->left+1

31、);</p><p>  p->left--;</p><p>  return OK;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p

32、>  printf("座位已滿");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

33、;<p>  int del_cus(customer *c,airline *l,char *name)</p><p><b>  {</b></p><p>  customer *p,*pr;</p><p>  char air_num[8];</p><p><b>  pr=c;&l

34、t;/b></p><p>  p=pr->next;</p><p>  while(p!=NULL)</p><p><b>  {</b></p><p>  if(strcmp(p->name,name)==0)</p><p><b>  {</b>

35、;</p><p>  strcpy(air_num,p->air_num);</p><p>  l=modefy_airline(l,air_num);</p><p>  pr->next=p->next;</p><p>  p=pr->next;</p><p>  printf(&q

36、uot;完成!");</p><p>  return OK; </p><p><b>  }</b></p><p>  pr=pr->next;</p><p>  p=pr->next;</p><p><b>  }</b></p>

37、;<p>  printf("NO the customer!");</p><p>  return ERROR;</p><p><b>  }</b></p><p>  int search_air(airline *head)</p><p><b>  {</

38、b></p><p>  airline *p=head->next;</p><p>  printf("air_num plane_num end_place total left\n");</p><p>  for(;p!=NULL;p=p->next)</p><p><b>  {&

39、lt;/b></p><p>  printf("%s %-10s %-8s %-8d%-8d\n",p->air_num,p->plane_num,p->end_place,p->total,p->left);</p><p><b>  }</b></p><p>  return O

40、K;</p><p><b>  }</b></p><p>  int search_cus(customer *head)</p><p><b>  {</b></p><p>  struct customer *q=head->next;</p><p>  

41、printf("name air_num seat_num\n");</p><p>  for(;q!=NULL;q=q->next)</p><p><b>  {</b></p><p>  printf("%-8s%-12s%-d\n",q->name,q->air_num,q-

42、>seat_num);</p><p><b>  }</b></p><p>  return OK;</p><p><b>  }</b></p><p>  int creat_air(airline **l)</p><p><b>  {</

43、b></p><p>  airline *p=*l;</p><p><b>  int i=0;</b></p><p>  char *air_num[3]={"航班1","航班2","航班3"};</p><p>  char *plane_num

44、[3]={"plane1","plane2","plane3"};</p><p>  char *end_place[3]={"北京","上海","天津"};</p><p>  int total[3]={100,100,100};</p><p&

45、gt;  int left[3]={52,54,76};</p><p>  for(i=0;i<3;i++)</p><p>  insert_air(&p,air_num[i],plane_num[i],end_place[i],total[i],left[i]);</p><p>  return OK;</p><p>

46、<b>  }</b></p><p>  int creat_cus(customer **l)</p><p><b>  {</b></p><p>  customer *p=*l;</p><p><b>  int i=0;</b></p><p

47、>  char *name[3]={"張三","李四","王五"};</p><p>  char *air_num[3]={"航班1","航班2","航班3"};</p><p>  int seat_num[3]={2,5,7};</p><

48、p>  for(i=0;i<3;i++)</p><p>  insert_cus(&p,name[i],air_num[i],seat_num[i]);</p><p>  return OK;</p><p><b>  }</b></p><p>  void main()</p>

49、<p><b>  {</b></p><p><b>  int t=1;</b></p><p>  customer *cus=start_cus();</p><p>  airline *air=start_air();</p><p>  char name[8],air_n

50、um[8],ch;</p><p>  creat_air(&air);</p><p>  creat_cus(&cus);</p><p>  while(t==1)</p><p><b>  {</b></p><p>  printf("\n");&l

51、t;/p><p>  printf("*********************************\n");</p><p>  printf("* 歡迎來到訂票系統(tǒng)! *\n");</p><p>  printf("* 訂票--------1 *\n");</p><p>  

52、printf("* 退票--------2 *\n");</p><p>  printf("* 查詢--------3 *\n");</p><p>  printf("* 退出--------4 *\n");</p><p>  printf("************************

53、*********\n");</p><p>  ch=getch();</p><p>  if(ch=='1')</p><p><b>  {</b></p><p>  printf("Please input a airline number:");</p&g

54、t;<p>  scanf("%s",air_num);</p><p>  printf("請輸入您的名字:");</p><p>  scanf("%s",name);</p><p>  book(air,air_num,cus,name);</p><p>&l

55、t;b>  }</b></p><p><b>  else</b></p><p>  if(ch=='2')</p><p><b>  {</b></p><p>  printf("Please input the cancel name:&quo

56、t;);</p><p>  scanf("%s",name);</p><p>  del_cus(cus,air,name);</p><p><b>  }</b></p><p><b>  else</b></p><p>  if(ch==&#

57、39;3')</p><p><b>  {</b></p><p>  search_air(air);</p><p>  printf("\n"); </p><p>  search_cus(cus);</p><p><b>  }</b&g

58、t;</p><p><b>  else</b></p><p>  if(ch=='4')</p><p><b>  {</b></p><p><b>  t=0;</b></p><p><b>  }</b&g

59、t;</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  第四章 調(diào)試分析</b></p><p><b>  4.1調(diào)試</b></p><p><b>  

60、進(jìn)入界面:</b></p><p><b>  選擇功能1:</b></p><p><b>  選擇功能2:</b></p><p><b>  選擇功能3:</b></p><p><b>  4.2經(jīng)驗與總結(jié)</b></p>

61、<p>  通過本次課程設(shè)計,我認(rèn)識到了自己的不足。對平時所學(xué)內(nèi)容局限于老師講的例子,不思舉一反三,不思融會貫通,所以在需要多個內(nèi)容課程設(shè)計時感到束手無策,手足無措。在上網(wǎng)查找了有關(guān)資料之后,自己也慢慢有了一點(diǎn)想法,根據(jù)課程設(shè)計的內(nèi)容要求一項一項完成。 C++語言的進(jìn)步讓我深刻的感受到任何所學(xué)的知識都需要實踐,沒有實踐就無法真正理解這些知識以及掌握它們,使其成為自己的財富。</p><p>  第六章

溫馨提示

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

評論

0/150

提交評論