數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(銀行模擬系統(tǒng))_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課程設(shè)計(jì)(論文)任務(wù)書(shū)</p><p>  軟件  學(xué)院  XXXX 專(zhuān)業(yè) 201XX- X 班 </p><p>  一、課程設(shè)計(jì)(論文)題目 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) </p><p>  二、課程設(shè)計(jì)(論文)工作自 20XX 年 12月 XX日起至 20XX 年 12月 XX日止。</p><p>  三、課程設(shè)計(jì)

2、(論文) 地點(diǎn): XXXX實(shí)訓(xùn)中心 </p><p>  四、課程設(shè)計(jì)(論文)內(nèi)容要求:</p><p>  1.本課程設(shè)計(jì)的目的</p><p>  (1)使學(xué)生熟練掌握抽象數(shù)據(jù)類(lèi)型的組織和定義; </p><p>  (2)使學(xué)生熟練掌握數(shù)據(jù)類(lèi)型的定義和實(shí)現(xiàn); </p

3、><p> ?。?)培養(yǎng)學(xué)生組織和分析數(shù)據(jù)的能力;</p><p> ?。?)培養(yǎng)學(xué)生分析和應(yīng)用基于不同數(shù)據(jù)結(jié)構(gòu)的算法的能力;</p><p> ?。?)提高學(xué)生的科技論文寫(xiě)作能力。</p><p><b>  2.基本要求:</b></p><p>  每位同學(xué)在以下題目中任選一題(在方框中打勾),

4、獨(dú)立完成課程設(shè)計(jì):</p><p>  □ 稀疏矩陣運(yùn)算:實(shí)現(xiàn)稀疏矩陣的輸入、輸出、加減乘的運(yùn)算。</p><p>  □ 關(guān)鍵路徑:求出完成整項(xiàng)工程至少需要多少時(shí)間以及整項(xiàng)工程中的關(guān)鍵活動(dòng)。</p><p> ?。?)能夠輸入并存儲(chǔ)一個(gè)描述工程的AOE網(wǎng);</p><p> ?。?)對(duì)輸入的AOE網(wǎng),應(yīng)判斷其是否能夠順利進(jìn)行;</p&

5、gt;<p> ?。?)若該工程能順利進(jìn)行,輸出完成整項(xiàng)工程至少需要多少時(shí)間,以及每一個(gè)關(guān)鍵活動(dòng)</p><p>  所依附的兩個(gè)頂點(diǎn)、最早發(fā)生時(shí)間、最遲發(fā)生時(shí)間。</p><p>  □ 銀行業(yè)務(wù)模擬:參見(jiàn)《數(shù)據(jù)結(jié)構(gòu)》教材P68。</p><p>  3.課程設(shè)計(jì)論文編寫(xiě)要求</p><p> ?。?)要按照書(shū)稿的規(guī)格打印謄寫(xiě)

6、課設(shè)報(bào)告;</p><p> ?。?)報(bào)告分為封面、任務(wù)書(shū)(本文檔)、正文、課程設(shè)計(jì)體會(huì)和參考文獻(xiàn)四部分;</p><p>  學(xué)生簽名: </p><p><b>  年 月 日</b></p><p><b>  正 文</b></p><p&

7、gt;<b>  數(shù)據(jù)結(jié)構(gòu)定義</b></p><p><b>  抽象數(shù)據(jù)類(lèi)型</b></p><p>  本設(shè)計(jì)中用到的數(shù)據(jù)結(jié)構(gòu)ADT定義如下:</p><p>  ADT Queue{</p><p>  數(shù)據(jù)對(duì)象:D={ ai | ai∈ElemSet, i=1,2,...,n, n≥0

8、}</p><p>  數(shù)據(jù)關(guān)系:R1={ <ai-1, ai>|ai-1, ai∈D, i=2,...,n }</p><p><b>  基本操作:</b></p><p>  void init_Q(Queue &Q);</p><p>  操作結(jié)果:構(gòu)造空隊(duì)列Q</p><

9、p>  int Q_empty(Queue Q);</p><p>  初始條件:隊(duì)列Q存在</p><p>  操作結(jié)果:若Q為空隊(duì)列,則返回TRUE,否則FALSE</p><p>  int Q_length(Queue Q);</p><p>  初始條件:隊(duì)列Q存在</p><p>  操作結(jié)果:返回隊(duì)

10、列Q的元素個(gè)數(shù),即隊(duì)列長(zhǎng)度</p><p>  int gethead_Q(Queue Q);</p><p>  初始條件:隊(duì)列Q存在</p><p>  操作結(jié)果:返回隊(duì)列Q的隊(duì)頭元素</p><p>  void en_Q(Queue &Q,int e);</p><p>  初始條件:隊(duì)列Q存在<

11、/p><p>  操作結(jié)果:插入元素e為Q的新的隊(duì)尾元素。</p><p>  void de_Q(Queue &Q,int &e);</p><p>  初始條件:隊(duì)列Q存在</p><p>  操作結(jié)果:刪除Q的隊(duì)頭元素。</p><p>  }ADT Queue</p><p>

12、;<b>  存儲(chǔ)結(jié)構(gòu)定義</b></p><p>  數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的C語(yǔ)言定義如下:</p><p>  typedef int Status;</p><p>  //-----------------銀行排隊(duì)模擬</p><p><b>  //事件和事件表</b></p>&l

13、t;p>  typedef struct QCuEvent</p><p><b>  {</b></p><p>  int OccurTime;</p><p>  int NType;</p><p>  struct QCuEvent *next;</p><p>  }QCuEve

14、nt, *EventList;</p><p><b>  //窗口前隊(duì)列元素</b></p><p>  typedef struct QCuElem</p><p><b>  {</b></p><p>  int ArrivalTime;</p><p>  int

15、Duration;</p><p>  struct QCuElem *next;</p><p>  }QCuElem,*QEptr;</p><p><b>  //窗口指針</b></p><p>  typedef struct {</p><p>  QEptr front;</p

16、><p>  QEptr rear;</p><p>  }QCustomerp,*QCupp;</p><p><b>  基本操作</b></p><p>  數(shù)據(jù)結(jié)構(gòu)的基本操作實(shí)現(xiàn)如下:</p><p><b>  //基本操作函數(shù)</b></p><p

17、>  Status OrderInser(EventList &ev, QCuEvent en);//按時(shí)間順序插入事件到事件表</p><p>  int QLength(QCustomerp qn);//求窗口隊(duì)列長(zhǎng)度</p><p>  int MinCuQueue(QCupp q);//求隊(duì)最短的窗口</p><p>  Status DelF

18、irstEvent(EventList &ev);//刪除事件表中的第一個(gè)事件</p><p>  Status InitCuQueue(QCustomerp &qn);//初始化窗口隊(duì)列</p><p>  Status EnCuQueue(QCustomerp &qn,QEptr Q);//進(jìn)入隊(duì)列</p><p>  Status De

19、CuQueue(QCustomerp &qn,QCuElem &Q);//刪除隊(duì)列中的元素</p><p>  Status GetQHead(QCustomerp qn,QCuElem &Q);//獲得隊(duì)列中的第一個(gè)元素</p><p>  Status DestoryQueue(QCustomerp qn);//銷(xiāo)毀隊(duì)列</p><p>

20、  void Ptint_QStatus(QCustomerp QCu[]);//打印隊(duì)列長(zhǎng)度</p><p>  void Bank_SimulationFunc();</p><p>  void test(char str[]);</p><p><b>  解題過(guò)程</b></p><p><b>  

21、問(wèn)題分解</b></p><p>  該問(wèn)題主要應(yīng)實(shí)現(xiàn)以下功能:</p><p>  1).實(shí)現(xiàn)數(shù)據(jù)的輸入;</p><p>  2).各個(gè)窗口數(shù)據(jù)的訪(fǎng)問(wèn)和輸出;</p><p>  3)當(dāng)前窗口的人員分布情況動(dòng)態(tài)顯示。</p><p>  4)存儲(chǔ)結(jié)構(gòu):隊(duì)列存儲(chǔ)結(jié)構(gòu)</p><p>

22、;  5)實(shí)現(xiàn)了模擬銀行的程序設(shè)計(jì),并且包含每一個(gè)客戶(hù)離開(kāi)時(shí)間及統(tǒng)計(jì),以及</p><p>  窗口排隊(duì)的可視化模擬.運(yùn)行測(cè)試通過(guò).</p><p>  6)測(cè)試數(shù)據(jù):要求使用1、全部合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,以保證程序的穩(wěn)定。 </p><p><b>  模塊結(jié)構(gòu)</b></p><p&

23、gt;  系統(tǒng)主要由2個(gè)模塊組成,分別是:</p><p><b>  主程序模塊</b></p><p>  隊(duì)列模塊--實(shí)現(xiàn)隊(duì)列抽象數(shù)據(jù)類(lèi)型</p><p>  模塊之間的結(jié)構(gòu)如下:</p><p>  各模塊相互調(diào)用關(guān)系如下:</p><p><b>  主程序模塊</b&g

24、t;</p><p><b>  隊(duì)列模塊</b></p><p><b>  解題思路</b></p><p><b>  各模塊的實(shí)現(xiàn)步驟為</b></p><p><b> ?。?).實(shí)現(xiàn)步驟</b></p><p>  首

25、先,分析題目要求劃分實(shí)現(xiàn)模塊、畫(huà)出大致的流程圖,定義基本數(shù)據(jù)類(lèi)型,諸如結(jié)構(gòu)體、隊(duì)列等;</p><p>  其次,考慮基本大致的操作,比如要擬定開(kāi)門(mén)的時(shí)間、顧客到來(lái)為其提供服務(wù)以及離開(kāi)時(shí)的操作等;</p><p>  再次,針對(duì)上述的基本操作實(shí)現(xiàn)具體需要進(jìn)行的操作,具體實(shí)現(xiàn)每個(gè)環(huán)節(jié)需要進(jìn)行的基本操作,即具體編寫(xiě)每個(gè)小函數(shù)實(shí)現(xiàn)功能;</p><p>  最后,編寫(xiě)主函

26、數(shù)對(duì)每個(gè)實(shí)現(xiàn)進(jìn)行按需調(diào)用,實(shí)現(xiàn)操作。</p><p><b> ?。?).流程圖</b></p><p><b>  是</b></p><p><b>  否</b></p><p>  否 </p><p><

27、;b>  圖-1事件流程圖</b></p><p>  圖-2 主函數(shù)流程圖</p><p><b>  實(shí)現(xiàn)</b></p><p><b>  代碼及注釋</b></p><p>  #define OK 1</p><p>  #define TR

28、UE 1</p><p>  #define FALSE 0</p><p>  #define ERROR 0</p><p>  #define INFEASIBLE -1</p><p>  #define OVERFLOW -2</p><p>  typedef int Status;</p>

29、<p>  //-----------------銀行排隊(duì)模擬</p><p><b>  //事件和事件表</b></p><p>  typedef struct QCuEvent</p><p><b>  {</b></p><p>  int OccurTime;</p&g

30、t;<p>  int NType;</p><p>  struct QCuEvent *next;</p><p>  }QCuEvent, *EventList;</p><p><b>  //窗口前隊(duì)列元素</b></p><p>  typedef struct QCuElem</p>

31、;<p><b>  {</b></p><p>  int ArrivalTime;</p><p>  int Duration;</p><p>  struct QCuElem *next;</p><p>  }QCuElem,*QEptr;</p><p><b&g

32、t;  //窗口指針</b></p><p>  typedef struct {</p><p>  QEptr front;</p><p>  QEptr rear;</p><p>  }QCustomerp,*QCupp;</p><p><b>  //主要操作函數(shù)</b>

33、</p><p>  Status OpenForDay(EventList &ev, QCuEvent en, QCupp &q);//開(kāi)門(mén)</p><p>  Status CustomerArrived(EventList &ev, QCupp &q, QCuEvent en);//顧客到達(dá)</p><p>  Status C

34、ustomerDeparture(EventList &ev, QCupp &q, QCuEvent en);//顧客離開(kāi)</p><p>  void CloseForDay();</p><p><b>  //基本操作函數(shù)</b></p><p>  Status OrderInser(EventList &ev,

35、 QCuEvent en);//按時(shí)間順序插入事件到事件表</p><p>  int QLength(QCustomerp qn);//求窗口隊(duì)列長(zhǎng)度</p><p>  int MinCuQueue(QCupp q);//求隊(duì)最短的窗口</p><p>  Status DelFirstEvent(EventList &ev);//刪除事件表中的第一個(gè)事

36、件</p><p>  Status InitCuQueue(QCustomerp &qn);//初始化窗口隊(duì)列</p><p>  Status EnCuQueue(QCustomerp &qn,QEptr Q);//進(jìn)入隊(duì)列</p><p>  Status DeCuQueue(QCustomerp &qn,QCuElem &Q)

37、;//刪除隊(duì)列中的元素</p><p>  Status GetQHead(QCustomerp qn,QCuElem &Q);//獲得隊(duì)列中的第一個(gè)元素</p><p>  Status DestoryQueue(QCustomerp qn);//銷(xiāo)毀隊(duì)列</p><p>  void Ptint_QStatus(QCustomerp QCu[]);//打

38、印隊(duì)列長(zhǎng)度</p><p>  void Bank_SimulationFunc();</p><p>  void test(char str[]);</p><p>  #include "stdio.h"</p><p>  #include "stdlib.h"</p><p

39、>  #include "time.h"</p><p>  int i=0,e=0,counter=0;</p><p>  int TotalTime=0,CustomerNum=0;//累計(jì)客戶(hù)逗留時(shí)間,客戶(hù)數(shù)</p><p>  int CloseTime;//關(guān)門(mén)時(shí)間</p><p>  int win

40、dowsnum = 0;</p><p><b>  //主函數(shù)</b></p><p>  int main() {</p><p>  EventList ev; // 事件表</p><p>  QCuEvent en; </p><p>  QCupp QCu = NULL;</

41、p><p>  OpenForDay(ev, en, QCu);</p><p>  while (ev->next)</p><p><b>  {</b></p><p>  en.NType = ev->next->NType;</p><p>  en.OccurTime =

42、 ev->next->OccurTime;</p><p>  DelFirstEvent(ev);</p><p>  if (en.NType == 0)</p><p>  CustomerArrived(ev, QCu, en);</p><p><b>  else</b></p>&

43、lt;p>  CustomerDeparture(ev, QCu, en);</p><p>  Ptint_QStatus(QCu);</p><p><b>  }</b></p><p>  CloseForDay();</p><p><b>  }</b></p>&l

44、t;p><b>  //主要功能子函數(shù)</b></p><p>  Status OpenForDay(EventList &ev, QCuEvent en, QCupp &q)</p><p><b>  {</b></p><p>  int temp = 0;</p><p

45、>  printf("請(qǐng)輸入隨機(jī)數(shù)種子(或輸入0使用隨機(jī)種子):");</p><p>  scanf("%d",&temp);</p><p>  if (temp==0) srand((unsigned)time(NULL));</p><p>  else srand(temp);</p>&

46、lt;p>  printf("請(qǐng)輸入營(yíng)業(yè)時(shí)間(單位:分鐘):");</p><p>  scanf("%d",&temp);</p><p>  CloseTime = temp;</p><p>  TotalTime = 0;</p><p>  CustomerNum = 0;<

47、;/p><p>  en.OccurTime = 0;</p><p>  en.NType = 0;</p><p>  en.next = NULL;</p><p>  ev = (EventList) malloc(sizeof(QCuEvent));</p><p>  ev->next = NULL;&l

48、t;/p><p>  OrderInser(ev, en);</p><p>  printf("請(qǐng)輸入辦理業(yè)務(wù)的窗口數(shù)(至少1個(gè)):");</p><p>  scanf("%d",&windowsnum);</p><p>  q = (QCustomerp *) malloc((windows

49、num+1)*sizeof(QCustomerp));</p><p>  for (int i=1;i<=windowsnum;i++)</p><p><b>  {</b></p><p>  InitCuQueue(q[i]);</p><p><b>  }</b></p>

50、;<p>  return OK;</p><p><b>  }</b></p><p>  Status CustomerArrived(EventList &ev, QCupp &q, QCuEvent en)</p><p><b>  {</b></p><p&g

51、t;  test("顧客到達(dá)處理<<<<<<<<");</p><p>  CustomerNum ++;</p><p><b>  // 產(chǎn)生隨機(jī)數(shù)</b></p><p>  //srand(54);</p><p>  int durtime =

52、 rand()%30+1;</p><p>  int intertime = rand()%5+1; </p><p>  // 插入到達(dá)事件表</p><p>  QCuEvent enTemp;</p><p>  int t = en.OccurTime + intertime;</p><p>  enTem

53、p.OccurTime = t;</p><p>  enTemp.NType = 0;</p><p>  enTemp.next = NULL;</p><p>  if (t < CloseTime)OrderInser(ev, enTemp);</p><p>  printf("時(shí)間%d\n",t);&l

54、t;/p><p><b>  // 插入最短隊(duì)</b></p><p><b>  QEptr Q;</b></p><p>  Q = (QEptr) malloc(sizeof(QCuElem));</p><p>  Q->ArrivalTime = en.OccurTime;</p&

55、gt;<p>  Q->Duration = durtime;</p><p>  Q->next = NULL;</p><p>  int i = MinCuQueue(q);</p><p>  EnCuQueue(q[i],Q); </p><p><b>  // 插入離開(kāi)事件</b>

56、</p><p>  enTemp.OccurTime = en.OccurTime + durtime;</p><p>  enTemp.NType = i;</p><p>  enTemp.next = NULL;</p><p>  if(QLength(q[i]) == 1)OrderInser(ev, enTemp);<

57、/p><p>  return OK;</p><p><b>  }</b></p><p>  Status CustomerDeparture(EventList &ev, QCupp &q, QCuEvent en)</p><p><b>  {</b></p>

58、<p>  test(">>>>>>>>顧客離開(kāi)處理");</p><p>  int i = en.NType;</p><p>  printf("離開(kāi)時(shí)間%d\n",en.OccurTime);</p><p>  if(en.OccurTime>Close

59、Time)</p><p><b>  {</b></p><p>  DestoryQueue(q[i]);</p><p><b>  }</b></p><p><b>  else{</b></p><p>  QCuElem customer;

60、</p><p>  DeCuQueue(q[i],customer);</p><p><b>  // 客戶(hù)逗留時(shí)間</b></p><p>  TotalTime += en.OccurTime - customer.ArrivalTime;</p><p>  printf("總時(shí)間為%d\n"

61、;,TotalTime);</p><p>  if (q[i].front->next)</p><p><b>  {</b></p><p>  GetQHead(q[i],customer);</p><p>  QCuEvent enTemp;</p><p>  enTemp.O

62、ccurTime = en.OccurTime + customer.Duration;</p><p>  enTemp.NType = i;</p><p>  OrderInser(ev, enTemp);</p><p><b>  }</b></p><p><b>  }</b><

63、/p><p>  return OK;</p><p><b>  }</b></p><p>  void CloseForDay()</p><p><b>  {</b></p><p>  printf("****************************

64、***********\n");</p><p>  printf("*\n");</p><p>  printf("* 所有顧客業(yè)務(wù)辦理總時(shí)間:%d分鐘\n", TotalTime);</p><p>  printf("* 業(yè)務(wù)辦理顧客數(shù):%d\n", CustomerNum);<

65、/p><p>  printf("* 平均每人辦理時(shí)間:%f\n",(float)TotalTime/(float)CustomerNum);</p><p>  printf("*\n");</p><p>  printf("***************************************\n&quo

66、t;);</p><p><b>  }</b></p><p><b>  //功能實(shí)現(xiàn)子函數(shù)</b></p><p>  Status OrderInser(EventList &ev, QCuEvent en)</p><p><b>  {</b></p

67、><p>  EventList entemp,qtemp;</p><p>  entemp = (EventList) malloc(sizeof(QCuEvent));</p><p>  entemp->OccurTime = en.OccurTime;</p><p>  entemp->NType = en.NType;&

68、lt;/p><p>  entemp->next = NULL;</p><p>  if (!ev->next)</p><p><b>  {</b></p><p>  ev->next = entemp;</p><p>  return OK;</p><

69、;p><b>  }</b></p><p>  qtemp = ev;</p><p>  while(qtemp->next&&qtemp->next->OccurTime < en.OccurTime)</p><p><b>  {</b></p><

70、;p>  qtemp = qtemp->next;</p><p><b>  }</b></p><p>  entemp->next = qtemp->next;</p><p>  qtemp->next = entemp;</p><p>  return OK;</p>

71、<p><b>  }</b></p><p>  int QLength(QCustomerp qn) </p><p><b>  {</b></p><p>  QEptr qtemp;</p><p><b>  int i=0;</b></p&g

72、t;<p>  qtemp = qn.front->next;</p><p>  while(qtemp)</p><p><b>  {</b></p><p>  qtemp = qtemp->next;</p><p><b>  i++;</b></p>

73、;<p><b>  }</b></p><p><b>  return i;</b></p><p><b>  }</b></p><p>  int MinCuQueue(QCupp q)</p><p><b>  {</b><

74、;/p><p>  int i,min;</p><p>  for (i=1,min=1;i<=windowsnum;i++)</p><p><b>  {</b></p><p>  min = QLength(q[min])<=QLength(q[i]) ? min:i;</p><p

75、><b>  }</b></p><p>  return min;</p><p><b>  }</b></p><p>  Status DelFirstEvent(EventList &ev)</p><p><b>  {</b></p>

76、<p>  EventList p;</p><p>  p = ev->next;</p><p>  ev->next = p->next;</p><p><b>  free(p);</b></p><p>  return OK;</p><p><b&

77、gt;  }</b></p><p>  Status InitCuQueue(QCustomerp &qn)</p><p><b>  {</b></p><p>  qn.front = (QEptr) malloc(sizeof(QCuElem));</p><p>  qn.front-&g

78、t;next = NULL;</p><p>  qn.rear = qn.front;</p><p>  return OK;</p><p><b>  }</b></p><p>  Status EnCuQueue(QCustomerp &qn,QEptr Q)</p><p>

79、<b>  {</b></p><p>  qn.rear->next = Q;</p><p>  qn.rear = Q;</p><p>  return OK;</p><p><b>  }</b></p><p>  Status DeCuQueue(QCu

80、stomerp &qn,QCuElem &Q)</p><p><b>  {</b></p><p>  QEptr qtemp;</p><p>  qtemp = qn.front->next;</p><p>  Q.ArrivalTime = qtemp->ArrivalTime;&

81、lt;/p><p>  Q.Duration = qtemp->Duration;</p><p>  qn.front->next = qtemp->next;</p><p>  if(qn.rear == qtemp) qn.rear = qn.front;</p><p>  free(qtemp);</p>

82、<p>  return OK;</p><p><b>  }</b></p><p>  Status GetQHead(QCustomerp qn,QCuElem &Q)</p><p><b>  {</b></p><p>  Q.ArrivalTime = qn.f

83、ront->next->ArrivalTime;</p><p>  Q.Duration = qn.front->next->Duration;</p><p>  return OK;</p><p><b>  }</b></p><p>  Status DestoryQueue(QCus

84、tomerp qn)</p><p><b>  {</b></p><p><b>  QEptr p;</b></p><p>  while(qn.front->next)</p><p><b>  {</b></p><p>  p =

85、qn.front->next;</p><p>  qn.front->next = p->next;</p><p><b>  free(p);</b></p><p><b>  }</b></p><p>  qn.front->next =NULL;</p&g

86、t;<p>  qn.rear = qn.front;</p><p>  return OK;</p><p><b>  }</b></p><p>  void Ptint_QStatus(QCustomerp QCu[])</p><p><b>  {</b></p&g

87、t;<p><b>  int l;</b></p><p>  for(int i=1;i<=windowsnum;i++)</p><p><b>  {</b></p><p>  l = QLength(QCu[i]);</p><p>  printf("隊(duì)列

88、%d:長(zhǎng)%d:",i,l);</p><p>  for (int n=1;n<=l;n++)</p><p><b>  {</b></p><p>  printf("@");</p><p><b>  }</b></p><p> 

89、 printf("\n");</p><p><b>  }</b></p><p><b>  }</b></p><p>  void test(char str[])</p><p><b>  {</b></p><p>  

90、printf("--%s--\n",str);</p><p><b>  }</b></p><p><b>  實(shí)驗(yàn)結(jié)果</b></p><p><b>  實(shí)驗(yàn)數(shù)據(jù)</b></p><p><b>  實(shí)驗(yàn)結(jié)果</b></p

91、><p>  中間部分省略………………………………………</p><p><b>  實(shí)驗(yàn)小結(jié)</b></p><p><b>  數(shù)據(jù)結(jié)構(gòu)使用小結(jié)</b></p><p>  (1).實(shí)驗(yàn)結(jié)果分析</p><p>  利用隨機(jī)產(chǎn)生的種子進(jìn)行事件的模擬,即到達(dá)時(shí)間和辦理業(yè)務(wù)的時(shí)

92、間都是隨機(jī)產(chǎn)生。如果事件尚未到達(dá)下班時(shí)間,則將其插入到空隊(duì)列或者是人數(shù)(元素)最少的隊(duì)列,通過(guò)檢驗(yàn),算出在不同的服務(wù)窗口數(shù)下的等待時(shí)間以及服務(wù)時(shí)間,基本上實(shí)現(xiàn)了銀行事件的模擬。</p><p>  (2)感覺(jué)處理的數(shù)據(jù)越大顯示的隨機(jī)數(shù)的差別越小。</p><p><b>  需完善之處</b></p><p>  本程序功能簡(jiǎn)單,就其實(shí)用性

93、而言,沒(méi)多大意義。但是我們可以在此基礎(chǔ)上添加一些人性化的功能,比如說(shuō),此程序還可以通過(guò)添加一些輸入格式錯(cuò)誤時(shí),出現(xiàn)引導(dǎo)操作者輸入正確格式的提醒。增加存款或查詢(xún)功能,對(duì)每一位客戶(hù)實(shí)名登記等等功能使得程序?qū)嵱眯愿訌?qiáng)大。</p><p><b>  課程設(shè)計(jì)體會(huì)</b></p><p><b>  通過(guò)此次課程設(shè)計(jì)</b></p>&l

94、t;p><b>  實(shí)驗(yàn)心得體會(huì)</b></p><p>  數(shù)據(jù)結(jié)構(gòu)是一門(mén)理論性較強(qiáng)且抽象的課程,銀行業(yè)務(wù)模擬需要用到結(jié)點(diǎn)類(lèi),隊(duì)列等知識(shí),所以我們要首先對(duì)結(jié)點(diǎn)類(lèi)、隊(duì)列有充分的認(rèn)識(shí)和理解。同時(shí)也要對(duì)我們以前學(xué)過(guò)的構(gòu)造函數(shù)等進(jìn)行鞏固。經(jīng)過(guò)一周的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),至今我仍感受頗深,從選題到定稿,從理論到實(shí)踐,在短短的一周時(shí)間里,雖然時(shí)間比較緊,但我學(xué)到了很多以前不知道的東西,同時(shí)不僅復(fù)習(xí)和

95、鞏固了以前所學(xué)過(guò)的知識(shí),而且看到了和學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí),使我懂得了理論必須和實(shí)踐永遠(yuǎn)的結(jié)合起來(lái),才能有質(zhì)的飛躍,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到過(guò)很多問(wèn)題,但我一直堅(jiān)持著,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,現(xiàn)在覺(jué)得一定要把以前所學(xué)過(guò)的知識(shí)重新溫故。雖然我的算法不夠完好,還有許多問(wèn)題,但我一

96、定會(huì)調(diào)試成功的。通過(guò)銀行業(yè)務(wù)模擬,我認(rèn)識(shí)到模擬技術(shù)的龐大和好處,對(duì)我以后不管是生活還是工作都有很大的幫助。對(duì)我選擇的軟件工程充滿(mǎn)了信心。</p><p>  最后,感謝老師本學(xué)期來(lái)的悉心教導(dǎo),祝老師身體健康,工作愉快! </p><p><b>  參考文獻(xiàn)</b></p><p><b>  參考文獻(xiàn)</b></p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論