數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--航空訂票系統(tǒng)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科生課程設(shè)計報告書</p><p>  題 目 航空客運訂票系統(tǒng) </p><p>  姓  名   </p><p>  學(xué)  號    </p><p>  學(xué)  院   信息工程學(xué)院  &l

2、t;/p><p>  ?! I(yè)   計算機  </p><p>  指導(dǎo)教師   XXXXXX </p><p>  完成日期: 2012-XX-XX</p><p><b>  航空客運訂票系統(tǒng)</b></p><p><b>  1 需求分析

3、</b></p><p><b>  【問題描述】</b></p><p>  試設(shè)計一個航空客運訂票系統(tǒng),方便乘客通過購票系統(tǒng)購買自己的所需要的飛機票,而航空客運訂票的業(yè)務(wù)活動包括:1.查詢航線;2.客票預(yù)訂;3.辦理退票。</p><p>  【系統(tǒng)能實現(xiàn)的功能】</p><p>  ①錄入:由設(shè)計者錄入

4、航班情況,數(shù)據(jù)存儲在文件中;</p><p> ?、诓樵兒骄€:由用戶輸入終點站名,出發(fā)時間,輸出下列信息:</p><p>  所有可能的航班號,當(dāng)天航班的余票數(shù)目;</p><p> ?、鄢修k訂票業(yè)務(wù):根據(jù)用戶提出的要求(航班號、出發(fā)時間、訂票數(shù)額)查詢</p><p>  該航班票額情況,若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號;已滿

5、員或余票額少于訂票額,則需重新詢問客戶是否需要進(jìn)入預(yù)約人數(shù)中。</p><p> ?、艹修k退票業(yè)務(wù):根據(jù)用戶提供的情況(日期、航班、票數(shù)等),為客戶辦理</p><p>  退票手續(xù)。然后查詢該航班是否有人排隊候補,首先詢問排在第一的客戶,若所退票數(shù)目能滿足他的要求,則為他辦理訂票手續(xù),否則依次詢問其他排隊候補的客戶。</p><p><b>  【測試實

6、例】</b></p><p>  例子某客戶輸入訂票信息:北京到上海 ,2014年5月3日,所需票數(shù)3張;系統(tǒng)輸出:所有可能航班號1000,1001,1002 余票分別為40張,50張,55張;該客戶選擇航班號為1000的航班;則該航班余票變?yōu)?7張;</p><p><b>  2 概要設(shè)計</b></p><p>  航線的情況

7、和已訂票客戶登錄在一張線性表上,分別用順序表和單鏈表實現(xiàn);</p><p><b>  ADT list{</b></p><p>  數(shù)據(jù)對象 :D = {ai | ai ∈ElemSet,i = 1,2,…,n,n>=0}</p><p>  數(shù)據(jù)關(guān)系 :R1 = {<ai-1,ai>|ai-1,ai∈D,i = 2, …

8、,n}</p><p><b>  基本操作 :</b></p><p>  InitList70219(&L)</p><p>  操作結(jié)果:構(gòu)造一個空的線性表L;</p><p>  ListInsert70219(&L,i,e)</p><p>  初始條件:線性表L已經(jīng)存在

9、;</p><p>  操作結(jié)果:在L中第i個位置之前插入新的元素e,L的長度加1;</p><p>  ListDelete70219(&L,i,&e)</p><p>  初始條件:線性表L已經(jīng)存在且非空,</p><p>  操作結(jié)果:刪除L的第i個位置的元素,并用e返回其值,L的長度減1;</p><

10、;p><b>  }</b></p><p>  預(yù)約客戶信息的存儲使用隊列。</p><p>  ADT Queue{</p><p>  數(shù)據(jù)對象 :D = {ai | ai ∈ElemSet,i = 1,2,…,n,n>=0}</p><p>  數(shù)據(jù)關(guān)系 :R1 = {<ai-1,ai>|

11、ai-1,ai∈D,i = 2, …,n}</p><p>  約定其中a1端為隊頭,an端為隊列尾。</p><p><b>  基本操作 :</b></p><p>  InitQueue70219( &Q);</p><p>  操作結(jié)果:構(gòu)造一個空隊列;</p><p>  Que

12、ueEmpty70219 (&Q);</p><p>  初始條件:隊列Q已存在;</p><p>  操作結(jié)果:若Q為空隊列,則返回1,否則返回 0;</p><p>  EnQueue70219( &Q, &e);</p><p>  初始條件:隊列Q已存在;</p><p>  操作結(jié)果:

13、插入元素e為Q的新隊尾元素;</p><p>  DeQueue70219(&Q,&e);</p><p>  初始條件:隊列Q已存在,且非空;</p><p>  操作結(jié)果:刪除Q的隊頭元素,并用e返回其值。</p><p>  Gedhead70219(&Q,&e);</p><p>

14、;  初始條件:隊列Q已存在,且非空;</p><p>  操作結(jié)果:取隊列的隊頭元素,用e返回;</p><p><b>  }</b></p><p>  航空系統(tǒng)用到的其他的函數(shù):</p><p>  void entry70219();</p><p>  操作結(jié)果:初始化錄入功能<

15、/p><p>  void search70219();</p><p>  初始條件:初始化錄入成功</p><p>  操作結(jié)果:通過始發(fā)地和終點站查詢</p><p>  void book70219();</p><p>  初始條件:初始化錄入成功</p><p><b>  操

16、作結(jié)果:實現(xiàn)訂票</b></p><p>  void returnticket70219();</p><p>  初始條件:已經(jīng)成功預(yù)訂機票;</p><p>  操作結(jié)果:實現(xiàn)退票;</p><p>  int main()</p><p><b>  {</b></p&g

17、t;<p><b>  int n;</b></p><p><b>  do{ //主界面</b></p><p>  printf("\n 歡迎使用航空客運訂票系統(tǒng)\n");</p><p>  printf("\n==>1. 錄入功能 ==\n");<

18、/p><p>  printf("\n==>2. 查詢功能 ==\n");</p><p>  printf("\n==>3. 訂票功能 ==\n");</p><p>  printf("\n==>4. 退票功能 ==\n");</p><p>  printf(&q

19、uot;\n==>5. 退出 ==\n");</p><p>  scanf("%d",&n);</p><p>  printf("\n");</p><p><b>  switch(n)</b></p><p><b>  {</b&g

20、t;</p><p>  case 1: entry70219();//錄入功能</p><p><b>  break;</b></p><p>  case 2: search70219();//查詢功能</p><p><b>  break;</b></p><p>

21、  case 3: book70219();//訂票功能</p><p><b>  break;</b></p><p>  case 4: returnticket70219();//退票功能</p><p><b>  break;</b></p><p>  default :exit(0)

22、;//退出</p><p><b>  }</b></p><p>  } while(n==1||n==2||n==3||n==4);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>&l

23、t;b>  3 詳細(xì)設(shè)計</b></p><p>  已訂票客戶的單鏈表存儲結(jié)構(gòu) </p><p>  typedef struct booked{</p><p>  char name[20];//訂票客戶姓名</p><p>  int bookednum;//該客戶已訂票數(shù)</p><p> 

24、 struct booked *next_1;//指向下一客戶的</p><p>  }booked,*LinkList;</p><p>  預(yù)約客戶的隊列存儲結(jié)構(gòu)</p><p>  typedef struct yuyue{</p><p>  char name[20];//預(yù)約客戶姓名</p><p>  i

25、nt yuyuenum;//該客戶預(yù)約票數(shù)</p><p>  struct yuyue *next_2;//指向下一客戶的</p><p>  }yuyue,*Qnode;</p><p>  typedef struct {</p><p>  Qnode front;//隊頭指針</p><p>  Qnode

26、 rear;//隊尾指針</p><p>  }LinkQueue;</p><p>  每條航線是這張表上的一個記錄,包含8個域、其中乘員名單域為指向乘員名單鏈表的頭指針,等候替補的客戶名單域為分別指向隊頭和隊尾的指針。</p><p>  航班的相關(guān)信息使用順序表存儲結(jié)構(gòu)</p><p>  typedef struct hangxia

27、n {</p><p>  char hangbannum[10];// 航班號</p><p>  char feijinum[10];// 飛機號</p><p>  char zhongdian[20];// 終點站名</p><p>  int starttime ;//飛行時間</p><p>  int t

28、otalnum//乘員定額</p><p>  int leftnum;//余票量</p><p>  booked *yiding;//指向已訂票客戶的頭結(jié)點指針</p><p>  LinkQueue *yuyuequeue;//指向預(yù)約客戶隊列的指針</p><p>  } hangxian;</p><p>

29、;<b>  1鏈表的操作:</b></p><p>  1.1初始化單鏈表來存儲訂票客戶的信息:</p><p>  申請帶有頭結(jié)點的單鏈表;</p><p>  如果申請失敗則退出程序;</p><p>  頭結(jié)點的下一個指針為空</p><p>  返回值為初始化的頭結(jié)點指針;</p&

30、gt;<p>  LinkList InitList70219(LinkList &la){</p><p>  la = (LinkList)malloc(sizeof(booked));</p><p>  if(la==NULL)exit(0);</p><p>  la->next_1 = NULL;</p><

31、;p>  return la;}</p><p>  1.2插入訂票客戶的信息:、</p><p>  該節(jié)點指針域存儲la的指針域的指針;</p><p>  la的指針域存儲新申請的節(jié)點的指針;</p><p>  void lianbiaoInsert70219(LinkList &la,LinkList &s){

32、</p><p>  s->next_1 = la->next_1;</p><p>  la->next_1 = s; </p><p><b>  return ;}</b></p><p>  1.3刪除退票客戶信息:</p><p>  傳入的刪除節(jié)點的

33、前一個節(jié)點的地址;</p><p>  刪除傳入的指針的后一個節(jié)點;</p><p><b>  釋放該節(jié)點;</b></p><p>  void lianbiaoDelete70219(LinkList &s){ </p><p>  LinkList q = s,p;</p><p>

34、;  p = q->next_1;</p><p>  q->next_1 = p->next_1;</p><p><b>  free(p);}</b></p><p><b>  2隊列的操作:</b></p><p><b>  2.1初始化隊列</b>

35、;</p><p>  為頭尾指針申請一個頭節(jié)點;</p><p><b>  申請失敗則退出;</b></p><p>  此時頭結(jié)點指針域為空;</p><p><b>  返回Q值;</b></p><p>  LinkQue InitQueue70219(LinkQu

36、e &Q){</p><p>  Q=(LinkQueue*)malloc(sizeof(LinkQueue)) ;</p><p>  Q->front = Q->rear=(Qnode)malloc(sizeof(yuyue));</p><p>  if(!Q->front)exit(-1); </p>

37、<p>  Q->rear->next_2 = NULL; </p><p>  return Q;}</p><p>  2.2 插入預(yù)約客戶的信息:</p><p>  插入節(jié)點的指針域為空;</p><p>  隊尾指針中的指針域存儲傳入的節(jié)點地址;</p>

38、;<p>  隊尾指針存儲傳入節(jié)點的地址;</p><p>  void EnQueue70219(LinkQue &Q,Qnode p){</p><p>  p->next_2 = NULL;</p><p>  Q->rear->next_2 = p;</p><p>  Q->rear =

39、 p;}</p><p>  2.3刪除隊列的首元素,即第一個預(yù)約的客戶:</p><p><b>  判斷是否為空隊列;</b></p><p>  不為空則刪除隊列首元素;</p><p>  隊列中最后一個元素被刪除時,使隊尾指針指向頭結(jié)點;</p><p><b>  釋放該節(jié)點

40、;</b></p><p>  LinkQue DeQueue70219(LinkQue &Q){</p><p>  if(Q->front ==Q->rear) exit(-1);</p><p>  p = Q->front->next_2; </p><p>  Q-&

41、gt;front->next_2 = p->next_2;</p><p>  if(Q->rear == p)Q->rear = Q->front; </p><p><b>  free(p);</b></p><p>  return Q;}</p><p><b>  2

42、.4取隊頭元素:</b></p><p>  先判斷隊列是否為空;</p><p>  不為空則取隊頭元素;</p><p>  Qnode Gedhead70219(LinkQue &Q)</p><p>  {if(Q->front == Q->rear)return NULL;</p>&l

43、t;p>  s = (Q->front->next_2);</p><p>  return s;}</p><p>  3.飛行航線的錄入:</p><p><b>  打開文件讀取數(shù)據(jù);</b></p><p>  從文件讀取的所有航班信息;</p><p>  將讀入的數(shù)據(jù)

44、顯示到屏幕上;</p><p><b>  關(guān)閉文件;</b></p><p>  void entry70219(hangxian air[20];){</p><p>  FILE *fp = fopen(filename,"r");</p><p>  int errno = 0;</p

45、><p>  if(!fp)exit(-1);</p><p>  while(!feof(fp) && i<20)</p><p>  {fscanf(fp,"%s%s%s%s%d%d",air[i].hangbannum,air[i].feijinum,air[i].zhongdian</p><p>

46、;  air[i].starttime,&(air[i].totalnum),&(air[i].leftnum));</p><p>  InitQueue70219(air[i].yuyueque);</p><p>  InitList70219(air[i].yiding) ;</p><p><b>  i++;}</b>

47、;</p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  4.查詢功能:</b></p><p>  輸入終點站以查詢某航線所有信息;</p><p>  在順序表中查找該航線信息;</p><p&

48、gt;  找到則顯示該航班的信息;</p><p>  void search70219(hangxian air[20]) {</p><p>  scanf("%s",city);</p><p>  for(i = 0;i < 20;i++){</p><p>  if(!strcmp(air[i].zhong

49、dian,city))</p><p><b>  break;}</b></p><p><b>  if(i =20)</b></p><p><b>  return;</b></p><p><b>  }</b></p><p

50、><b>  5.訂票功能:</b></p><p>  在數(shù)組中查找客戶輸入的航線信息;</p><p><b>  如果找到該航線</b></p><p>  輸入訂票姓名和票數(shù);</p><p>  判斷該客戶所定的航班的余票是否足夠;</p><p>  足夠則

51、把客戶提供的姓名和票數(shù),輸入到該航線對應(yīng)的鏈表中;</p><p>  航線的余票數(shù)目發(fā)生改變;</p><p>  訂票成功則退出程序;</p><p>  否則提示余票不足,詢問是否預(yù)約;</p><p>  預(yù)約則把該客戶的信息插入到預(yù)約客戶的隊列隊尾;</p><p>  輸入的終點站不存在,退出程序;<

52、/p><p>  void book70219(hangxian air[20] ) { </p><p>  scanf("%s",city);//</p><p>  for(i = 0;i < 20;i++){</p><p>  if(!strcmp(air[i].zhongdian,city)){</p&

53、gt;<p>  scanf("%s",name);</p><p>  scanf("%d",&ticket_num);</p><p>  if(air[i].leftnum>=ticket_num) {</p><p>  b = (LinkList)malloc(sizeof(booked

54、));</p><p>  b->bookednum = ticket_num; </p><p>  strcpy(b->name, name);</p><p>  lianbiaoInsert70219(air[i].yiding,b); </p><p>  air[i].leftnum =

55、air[i].leftnum - ticket_num; </p><p><b>  return ;}</b></p><p><b>  else{</b></p><p>  E = (Qnode)malloc(sizeof(yuyue)) ; </p><p>  E->yuyuen

56、um = ticket_num; </p><p>  strcpy(E->name, name);</p><p>  EnQueue70219(air[i].yuyueque,E); /</p><p><b>  return ;}</b></p><p> 

57、 else return;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return ;</b></p><p><b&g

58、t;  }</b></p><p><b>  6. 退票功能:</b></p><p><b>  尋找航線位置;</b></p><p>  客戶輸入姓名在該航線訂票客戶中查找;</p><p>  訂票客戶鏈表為空不進(jìn)行循環(huán);</p><p>  通過姓名尋

59、找到訂票客戶的節(jié)點位置;</p><p><b>  以取消訂閱;</b></p><p>  沒有找到則繼續(xù)尋找;</p><p>  退出循環(huán)時指針仍然存在則表示退票成功;</p><p>  否則提示沒有找到客戶的信息;</p><p>  判斷退票成功時是否有預(yù)約客戶;</p>

60、<p>  有則判斷此時該航線的余票是否滿足第一個預(yù)約客戶的訂票需求;</p><p><b>  滿足則客戶訂票;</b></p><p><b>  取隊列的對頭元素;</b></p><p>  將隊頭的元素信息插入到鏈表中;</p><p>  從隊列取出的元素插入到訂票客戶鏈

61、表中;</p><p>  刪除隊列的隊頭元素;</p><p>  void returnticket70219(hangxian air[20]){</p><p>  scanf(city);</p><p>  for(i = 0;i < 20;i++) {</p><p>  if(!strcmp(a

62、ir[i].zhongdian,city)){</p><p>  scanf(name);</p><p>  p = air[i].yiding;</p><p>  if(p->next_1){</p><p>  while(p->next_1){</p><p>  if(!strcmp(p-&g

63、t;next_1->name,name)){</p><p>  air[i].leftnum+=p->next_1->bookednum ;</p><p>  lianbiaoDelete70219(p); </p><p>  break; </p><p><b&

64、gt;  }</b></p><p>  p = p->next_1; </p><p><b>  j = 1;</b></p><p><b>  }</b></p><p><b>  if(j==1)</b></p><p>&

65、lt;b>  return ;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  return;</b></p><p>  m = air[i].yuyueque->front;

66、</p><p>  if(m->next_2)</p><p>  { if(m->next_2->yuyuenum <= air[i].leftnum)</p><p><b>  { </b></p><p>  h = Gedhead70219(air[i].yuyueque);

67、 </p><p>  s = (LinkList)malloc(sizeof(booked));</p><p>  strcpy(s->name , h->name); </p><p>  s->bookednum = h->yuyuenum;</p><p>  air[i].leftnum = ai

68、r[i].leftnum - h->yuyuenum;</p><p>  lianbiaoInsert70219(air[i].yiding,s); </p><p>  DeQueue70219(air[i].yuyueque); </p><p><b>  }</b></p><p><b> 

69、 }</b></p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return ;</b></p><p>&

70、lt;b>  }</b></p><p>  int main()</p><p><b>  {</b></p><p><b>  int n;</b></p><p><b>  do{ //主界面</b></p><p>  p

71、rintf("\n 歡迎使用航空客運訂票系統(tǒng)\n");</p><p>  printf("\n==>1. 錄入功能 ==\n");</p><p>  printf("\n==>2. 查詢功能 ==\n");</p><p>  printf("\n==>3. 訂票功能 ==\

72、n");</p><p>  printf("\n==>4. 退票功能 ==\n");</p><p>  printf("\n==>5. 退出 ==\n");</p><p>  scanf("%d",&n);</p><p>  switch(n){

73、</p><p>  case 1: entry70219(air);//錄入功能</p><p><b>  break;</b></p><p>  case 2: search70219(air);//查詢功能</p><p><b>  break;</b></p><p

74、>  case 3: book70219(air);//訂票功能</p><p><b>  break;</b></p><p>  case 4: returnticket70219(air);//退票功能</p><p><b>  break;</b></p><p>  defaul

75、t :exit(0);//退出</p><p><b>  }</b></p><p>  } while(n==1||n==2||n==3||n==4);</p><p><b>  return 0;</b></p><p><b>  }</b></p>&

76、lt;p><b>  4 編碼調(diào)試</b></p><p>  運行程序主界面如圖1</p><p><b>  圖1</b></p><p>  從文件中導(dǎo)入航班的信息:輸入的數(shù)據(jù)能基本能正確導(dǎo)入結(jié)構(gòu)體中,并在屏幕中顯示出來,但在文件中再加入一行航班信息時屏幕上不會顯示,但在查詢時能輸出該航線的信息,表明文件正確導(dǎo)

77、入結(jié)構(gòu)體中,但沒有輸出到屏幕上,將for(j = 0;j<i-1;j++)中的i-1改成i,并且文件中輸入數(shù)據(jù)時不要輸入多余的空格就可以正確顯示出來;如圖2 </p><p><b>  圖2</b></p><p>  查詢終點站為武漢的航班信息如圖3</p><p><b>  圖3</b></p>

78、<p>  查詢終點站為廣州的航班信息如圖4</p><p><b>  圖4</b></p><p>  訂票模塊:訂票時各航線數(shù)據(jù)除第一行外都能夠正確顯示,并提示訂票。經(jīng)過調(diào)試發(fā)現(xiàn)是從文件導(dǎo)入數(shù)據(jù)時第一行數(shù)據(jù)沒有正確初始化;改進(jìn)之后就可以全部顯示; 此中第一條航班信息北京即為邊界數(shù)據(jù)。</p><p>  選擇訂票有航線:北京,

79、姓名:王,訂票數(shù):7,顯示訂票成功,如圖5</p><p>  圖5 </p><p>  在此基礎(chǔ)上選擇訂票,姓名:張;訂票數(shù):4,顯示余票不足,選擇預(yù)約如圖6</p><p><b>  圖6</b></p><p>  退票模塊:進(jìn)入退票功能時,輸入航班后

80、提示輸入訂票客戶姓名但不管輸入任何訂票客戶的信息都提示沒有該客戶的信息,則說明退票函數(shù)的功能沒有正確執(zhí)行。錯誤的原因:刪除訂票客戶節(jié)點的函數(shù)lianbiaoDelete70219的參數(shù)沒有傳遞對,剛開始傳遞的是該航線單鏈表的頭指針,根據(jù)函數(shù)功能應(yīng)該傳遞的是這項刪除節(jié)點的前一個節(jié)點的指針,改正之后能夠正確執(zhí)行函數(shù)功能;</p><p>  在以上客戶訂票基礎(chǔ)上執(zhí)行退票,航線:北京,姓名:王。退票成功并且是首位預(yù)約客

81、戶訂票成功,如圖7</p><p><b>  圖7</b></p><p><b>  5 設(shè)計體會</b></p><p>  由于是首次進(jìn)行稍微復(fù)雜的程序設(shè)計,所以在需求分析階段需花費一定</p><p>  的時間以便深刻的了解該階段到底要實現(xiàn)什么功能,才能為后幾個階段做好準(zhǔn)備;比如需求分析

82、時寫入了較多的專業(yè)術(shù)語既是一種錯誤的做法,此階段需要的是可供非專業(yè)人員讀懂的設(shè)計要求,所以過多的專業(yè)術(shù)語將導(dǎo)致需求分析失去了其作用;</p><p>  概要設(shè)計時及要求大腦中有一個大概的輪廓知道如何設(shè)計各種數(shù)據(jù)類型</p><p>  并進(jìn)行存儲以及個數(shù)據(jù)類型之間的關(guān)系,需要知道主功能模塊與個數(shù)據(jù)類型基本操作之間的調(diào)用關(guān)系;</p><p>  詳細(xì)設(shè)計時實現(xiàn)實現(xiàn)

83、個函數(shù)功能做主要的階段,由于以往不良的編程習(xí)</p><p>  慣導(dǎo)致剛開始設(shè)計程序時是直接上手敲代碼,致使函數(shù)功能的實現(xiàn)中出現(xiàn)了大量的錯誤,后來在張有華老師的要求下重頭開始先用漢字將算法描述一遍,然后再有類c語言寫出算法,這樣不僅讓函數(shù)功能的實現(xiàn)更加清晰,而且使得程序在編譯時錯誤大大減少;</p><p>  4.編碼調(diào)試階段由于函數(shù)中任然存在各種問題,如指針、引用的使用,函數(shù)參數(shù)的傳

84、遞,實參、虛參之間的關(guān)系,在老師和同學(xué)的幫助下終于將問題一一擊破;</p><p>  5. 測試結(jié)果及所采用的測試相關(guān)數(shù)據(jù)已經(jīng)在編碼調(diào)試階段給出了一些分析,錄入航班信息的功能時間復(fù)雜度為O(n)、空間復(fù)雜度為O(l),查詢功能的時間復(fù)雜度為O(n),空間復(fù)雜度O(n),訂票功能的時間復(fù)雜度為O(n),時間復(fù)雜度O(l),</p><p>  退票功能的時間復(fù)雜度為O(n*n);</

85、p><p>  6.算法改進(jìn),此程序中預(yù)約客戶使用隊列的存儲存在一個缺陷。即隊列是采用的尾進(jìn)頭出的存儲結(jié)構(gòu),也就是說大部分的預(yù)約客戶(隊頭元素除外)不能夠?qū)崿F(xiàn)取消預(yù)約的情況,顯然在實際情況中不大合情理。改進(jìn)思路可以采用鏈表的形式存儲,但需要對鏈表進(jìn)行一定的限制,如必須在鏈表尾部插入新的預(yù)約客戶信息。另一個需要改進(jìn)的地方是航空客運訂票系統(tǒng)應(yīng)該分成幾個不同的操作界面,外部客戶界面、內(nèi)部系統(tǒng)界面這樣才與現(xiàn)實的情況相符合;&

86、lt;/p><p>  7.本次課程設(shè)計是我對c語言的運用更加熟練,理解更加深刻,同時對數(shù)據(jù)結(jié)構(gòu)最基本的操作理解更進(jìn)一步,同時加深了對軟件工程的認(rèn)識。是自己對今后的就業(yè)方向更加清晰,師生、同伴之間的交流加強了團隊合作的呢能力;</p><p><b>  6 致謝</b></p><p>  /*提示:培養(yǎng)感恩之心,對在本次設(shè)計中所有對你有幫助的人

87、(老師、同學(xué)、同組成員)表達(dá)真誠的謝意。*/</p><p>  由于本人目前能力有限,在本次課程設(shè)計各種功能的實現(xiàn)中遇到了很大很多的問題,程序的成功完成得到了各位老師和同學(xué)的大力支持。在此特意感謝我的數(shù)據(jù)結(jié)構(gòu)老師**,她并不是我此次課程設(shè)計的直接指導(dǎo)老師,但是當(dāng)我的程序陷入問題中時她都會非常耐心、認(rèn)真地指導(dǎo)和幫助我。本次課設(shè)的難度相對來說比較大程序中遇到的問題也是非常棘手,如果不是*老師的幫助我恐怕很難保質(zhì)保量

88、地按時完成課設(shè)的任務(wù)?;诖嗽俅螌?老師的幫助表示感謝。</p><p>  同時感謝**老師對我們的高標(biāo)準(zhǔn)嚴(yán)要求,因為他的要求使得我在編程這一塊的能力有了很大的提升,良好地變成習(xí)慣逐漸形成。最后感謝在我程序設(shè)計時為我提供過幫助的同學(xué)。</p><p><b>  7 參考文獻(xiàn)</b></p><p>  嚴(yán)蔚敏.?dāng)?shù)據(jù)結(jié)構(gòu)(C語言版)[M].清

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論