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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  《C++程序設計》課程設計</p><p><b>  設計報告</b></p><p>  計算機科學與技術學院</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測試數據………………………………………………3</p><p>  概要設計……………………………………………3</p&

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

4、……………………………………4</p><p>  3.2源代碼…………………………………………………5</p><p>  調試分析 ………………………………………… 14</p><p>  4.1調試……………………………………………………20</p><p>  4.2驗與總結………………………………………………21</p>

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

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

7、</p><p><b>  1.4測試數據</b></p><p>  進入訂票系統后,選擇訂票,輸入姓名aaa。</p><p>  再根據選項依次選擇進行測試。</p><p><b>  第二章 概要設計</b></p><p>  2.1 實現流程分析:</

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

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

10、塊</p><p> ?。?)查詢(航班相關記錄)功能模塊</p><p><b> ?。?)訂票功能模塊</b></p><p><b> ?。?)退票功能模塊</b></p><p> ?。?)退出系統功能模塊</p><p><b>  第三章 詳細設計&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.避免幻數出現(幻數即諸如0,1,100之類的數字常量,因為無法從字面上看出該數字代表的意義,所以通常用宏替換,讓人一看就明白其代表的意義,如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("* 歡迎來到訂票系統! *\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>  第四章 調試分析</b></p><p><b>  4.1調試</b></p><p><b>  

60、進入界面:</b></p><p><b>  選擇功能1:</b></p><p><b>  選擇功能2:</b></p><p><b>  選擇功能3:</b></p><p><b>  4.2經驗與總結</b></p>

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

溫馨提示

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

評論

0/150

提交評論