數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---停車(chē)場(chǎng)仿真_第1頁(yè)
已閱讀1頁(yè),還剩10頁(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><b>  成績(jī):</b></p><p><b>  經(jīng)濟(jì)與管理學(xué)院</b></p><p>  數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告書(shū)</p><p>  信息管理與信息系統(tǒng)教研室</p><p><b>  課程設(shè)計(jì)報(bào)告目錄</b></p><p&g

2、t;  1. 任務(wù)書(shū) …………………………………………………(3)</p><p>  2. 課題說(shuō)明與分析…………………………………………(5)</p><p>  3. 程序流程圖 ……………………………………………(6)</p><p>  4. 數(shù)據(jù)結(jié)構(gòu)與程序模塊說(shuō)明 ……………………………(7)</p><p>  結(jié)束語(yǔ)……………

3、………………………………………(11)</p><p>  致謝 ……………………………………………………(11)</p><p>  參考文獻(xiàn) ………………………………………………(11)</p><p><b>  1任務(wù)書(shū) </b></p><p>  課 程 設(shè) 計(jì) 任 務(wù) 書(shū)</p>&l

4、t;p>  2009學(xué)年 秋季學(xué)期</p><p><b>  2.課題說(shuō)明與分析</b></p><p>  隨著科技的發(fā)展,社會(huì)的進(jìn)步,越來(lái)越多的家庭進(jìn)入了小康的行列。也就有越來(lái)越多的小汽車(chē)進(jìn)入了現(xiàn)代社會(huì)的家庭。隨著汽車(chē)工業(yè)的迅猛發(fā)展,我國(guó)汽車(chē)擁有量急劇增加。在許多城市,比如北京、上海、廣州、深圳等甚至在一些小城市,停車(chē)?yán)щy已不是新鮮問(wèn)題。停車(chē)場(chǎng)作為交通設(shè)

5、施的組成部分,隨著交通運(yùn)輸?shù)姆泵筒粩喟l(fā)展,人們對(duì)其管理的要求也不斷提高,都希望管理能夠達(dá)到方便、快捷以及安全的效果。停車(chē)場(chǎng)的規(guī)模各不相同,對(duì)其進(jìn)行管理的模式也有不同之處,管理者需要根據(jù)自身的條件,選擇應(yīng)用經(jīng)濟(jì)、穩(wěn)定的管理程序,以免選擇了高成本的管理系統(tǒng)。本論文旨在設(shè)計(jì)一個(gè)簡(jiǎn)潔、穩(wěn)定、實(shí)用的停車(chē)場(chǎng)管理信息系統(tǒng),希望在容錯(cuò)性、實(shí)用性、易操作性等方面具有自己的特色,并且保持一定的可擴(kuò)展性,以滿(mǎn)足不同停車(chē)場(chǎng)的信息管理需求。</p>

6、<p>  一個(gè)典型的停車(chē)場(chǎng)管理信息系統(tǒng)需要包括車(chē)輛進(jìn)出管理及收費(fèi)功能、停車(chē)場(chǎng)車(chē)位及車(chē)主信息查詢(xún)功能和系統(tǒng)設(shè)置及管理功能。</p><p>  1. 停車(chē)場(chǎng)車(chē)位劃分</p><p>  首先將停車(chē)場(chǎng)劃分為停車(chē)場(chǎng)和便道兩部分。對(duì)于固定車(chē)位的車(chē)輛,系統(tǒng)有著詳細(xì)的信息記錄,車(chē)輛信息。會(huì)根據(jù)停車(chē)時(shí)長(zhǎng)進(jìn)行繳費(fèi)。停在便道上的車(chē)不需要繳費(fèi)。停車(chē)場(chǎng)的車(chē)輛總是停放在自己的車(chē)位上,不同類(lèi)型停車(chē)場(chǎng)

7、的停車(chē)場(chǎng)位和便道位數(shù)目比例是不同的,比如商場(chǎng)、車(chē)站、機(jī)場(chǎng)類(lèi)與住宅小區(qū)、單位自用類(lèi)停車(chē)場(chǎng)的停車(chē)場(chǎng)位數(shù)目就有差別。停車(chē)場(chǎng)的停車(chē)場(chǎng)位和便道位數(shù)目一般情況下是固定不變的,但有時(shí)根據(jù)停車(chē)場(chǎng)規(guī)劃改變也需要調(diào)整,系統(tǒng)可以在系統(tǒng)管理功能里對(duì)這兩類(lèi)車(chē)位的數(shù)目進(jìn)行設(shè)定和修改。</p><p>  2. 車(chē)輛進(jìn)出管理及收費(fèi)功能</p><p>  車(chē)輛進(jìn)入停車(chē)場(chǎng)時(shí),系統(tǒng)記錄車(chē)輛的車(chē)牌號(hào)碼和進(jìn)入時(shí)間。車(chē)輛離開(kāi)停車(chē)

8、場(chǎng)時(shí),根據(jù)車(chē)輛車(chē)牌號(hào)碼判斷是否為停車(chē)場(chǎng)位車(chē)輛,如果為停車(chē)場(chǎng)位車(chē)輛則收費(fèi),只記錄車(chē)輛離開(kāi)停車(chē)場(chǎng)時(shí)間。所有進(jìn)出停車(chē)場(chǎng)的信息包括車(chē)牌號(hào)碼、進(jìn)入時(shí)間、離開(kāi)時(shí)間、停車(chē)費(fèi)用。</p><p><b>  3.程序流程圖</b></p><p>  4.數(shù)據(jù)結(jié)構(gòu)與程序模塊說(shuō)明</p><p><b>  源程序:</b></p&g

9、t;<p>  #include<stdio.h></p><p>  #include <time.h></p><p>  #define MAX 2 /*最大車(chē)輛數(shù)*/</p><p>  #define price 0.1 /

10、* 每秒鐘每輛車(chē)的費(fèi)用 */</p><p>  typedef struct time {</p><p><b>  int hour;</b></p><p><b>  int min;</b></p><p>  int sec;}time1; /

11、* 定義時(shí)間 */</p><p>  typedef struct NODE</p><p>  { /* 定義停車(chē)場(chǎng)棧 */</p><p>  int car_number[MAX] ;</p><p>  time1 al_time[MAX];</p>

12、<p>  int top; }*sqpark;</p><p>  typedef struct Node /* 定義便道隊(duì)列*/</p><p>  { int car_number[MAX];</p><p>  int front;</p><p><b>  int rear

13、;</b></p><p><b>  }*sqroad;</b></p><p>  void initstack (sqpark s) /* 初始化停車(chē)場(chǎng)棧 */</p><p>  { s->top=0;</p><p><b>  }</b></

14、p><p>  int initqueue (sqroad q) /* 初始化便道隊(duì)列 */</p><p>  { q->front=q->rear=0;</p><p><b>  }</b></p><p>  int arrival (sqpark r,sqroad w)

15、 /* 車(chē)輛進(jìn)入函數(shù) */</p><p>  { char day[3],mon[3];</p><p>  int date,hour,min,second,year,num;</p><p><b>  time_t k;</b></p><p>  printf("\n");</p&

16、gt;<p>  printf("Please input car NO.!\n");</p><p>  scanf("%d",&num);</p><p>  if(r->top<MAX) /* 停車(chē)場(chǎng)未滿(mǎn) */</p><p><b>

17、  {</b></p><p><b>  r->top++;</b></p><p>  printf("The position in the parking is:%d\n",r->top);</p><p>  r->car_number[r->top]=num;</p>

18、;<p><b>  time(&k);</b></p><p>  sscanf(ctime(&k),"%s %s %i %i:%i:%i %i",&day,&mon,&date,&hour,&min,&second,&year );</p><p>  pri

19、ntf("The time the car come in: %i:%i:%i\n",hour,min,second);</p><p>  r->al_time[r->top].hour=hour;r->al_time[r->top].min=min;r->al_time[r->top].sec=second;</p><p>&l

20、t;b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  w->car_number[w->rear]=num;</p><p>  w->rear=(w->rear+1)%(MAX);

21、</p><p>  printf("The car is waiting on road %d.\n",w->rear-w->front);}</p><p><b>  }</b></p><p>  void leave (sqpark r,sqpark temp,sqroad w) /* 車(chē)輛離開(kāi)函數(shù) *

22、/</p><p>  { char day[3],mon[3];</p><p>  int date,hour,min,second,year;</p><p><b>  time_t k;</b></p><p>  int i,A1,A2,A3,B1,B2,B3;</p><p><

23、;b>  int q;</b></p><p><b>  int s;</b></p><p><b>  int n=0;</b></p><p><b>  int m=0;</b></p><p>  int room=0;</p>&l

24、t;p>  if (r->top<1)/* 判斷停車(chē)場(chǎng)是否有車(chē) */</p><p>  printf("There is no car in parking!\n");</p><p><b>  else</b></p><p>  printf("\n");</p>

25、<p>  printf("Please choise car NO.!\n");</p><p>  scanf("%d",&s);</p><p>  { for(i=r->top;i>=1;i--)</p><p>  {if(r->car_number[i]==s)</p>

26、;<p>  {room=i;break;}</p><p><b>  }</b></p><p>  if(room!=0)</p><p>  {for(;r->top>room;r->top--)</p><p><b>  {</b></p>

27、<p>  temp->top++;</p><p>  temp->car_number[temp->top]=r->car_number[r->top];</p><p>  temp->al_time[temp->top]=r->al_time[r->top];</p><p><b>

28、  }</b></p><p>  A1=r->al_time[r->top].hour;</p><p>  A2=r->al_time[r->top].min;</p><p>  A3=r->al_time[r->top].sec;</p><p><b>  time(&

29、;k);</b></p><p>  sscanf(ctime(&k),"%s %s %i %i:%i:%i %i",&day,&mon,&date,&hour,&min,&second,&year );</p><p>  printf("The time the car go ou

30、t: %i:%i:%i\n",hour,min,second);</p><p><b>  B1=hour;</b></p><p><b>  B2=min;</b></p><p>  B3=second;</p><p><b>  r->top--;</b&

31、gt;</p><p>  for (;temp->top>=1;temp->top--)</p><p><b>  {</b></p><p><b>  r->top++;</b></p><p>  r->car_number[r->top]=temp-&

32、gt;car_number[temp->top];</p><p>  r->al_time[r->top]=temp->al_time[temp->top];</p><p><b>  }</b></p><p>  printf("Total time :%d\n",((B1-A1)*60

33、*60+(B2-A2)*60+B3-A3));</p><p>  printf("Total money :%.1f\n",(((B1-A1)*60*60+(B2-A2)*60+B3-A3))*price);</p><p>  if(w->front!=w->rear&& r->top<MAX)/* 便道有車(chē)停車(chē)場(chǎng)有空位 */

34、</p><p>  {r->top++;</p><p>  q=w->car_number[w->front];</p><p>  r->car_number[r->top]=q;</p><p>  printf("Car %d will be in parking.The position i

35、s:%d\n",q,r->top);</p><p>  r->al_time[r->top].hour=B1; r->al_time[r->top].min=B2;r->al_time[r->top].sec=B3;</p><p>  w->front=(w->front+1)%(MAX);</p><

36、p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  {for(i=w->front;i<w->rear;i=(i+1)%(MAX))</p><p>  {if(w->

37、;car_number[i]==s)</p><p><b>  n=1;</b></p><p><b>  }</b></p><p><b>  if(n==1)</b></p><p>  printf("This car is in the waiting

38、road.\n");</p><p><b>  else</b></p><p>  printf("The car number is wrong,please check it.\n");</p><p><b>  }</b></p><p><b>

39、  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  sqpark r,temp;</p><p><b>  sqroad w;</b>

40、;</p><p><b>  int ch;</b></p><p>  initstack(r);</p><p>  initstack(temp);</p><p>  initqueue(w);</p><p><b>  while(1)</b></p>

41、;<p>  { printf("\n1.Car arrival set down ");</p><p>  printf("\n2.Car leave set down");</p><p>  printf("\n3.Quit system \n");</p><p><b>

42、;  while(1)</b></p><p>  { printf("\nplease choise:1 2 3\n");</p><p>  scanf("%d",&ch);</p><p>  if(ch>=1&&ch<=3)break;</p>&l

43、t;p><b>  else</b></p><p>  printf("\nplease choise:1~3\n" );</p><p><b>  }</b></p><p>  switch(ch)</p><p><b>  { case 1:</

44、b></p><p>  arrival(r,w);</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  leave(r,temp,w);</p><p><b>  break;</

45、b></p><p><b>  case 3:</b></p><p><b>  exit(0);</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p&

46、gt;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  結(jié)束語(yǔ)</b></p><p>  通過(guò)這次停車(chē)場(chǎng)課程設(shè)計(jì),我不僅進(jìn)一步學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)這門(mén)課程,而且初步了解了系統(tǒng)的主

47、要問(wèn)題,步驟。知道如何將理論知識(shí)運(yùn)用到實(shí)踐中,如何發(fā)揚(yáng)自己的創(chuàng)新精神。知道了凡事需要自己多動(dòng)手,才能取得老師信任,才能得到進(jìn)步。</p><p><b>  致謝</b></p><p>  本課題在制作過(guò)程中,全靠老師給予鼓勵(lì)及適當(dāng)壓力,才能使我按時(shí)完成此次的任務(wù)。而且很感謝老師給予照顧,才能使我的大學(xué)生或充實(shí),請(qǐng)不要聽(tīng)我今天說(shuō)什么,請(qǐng)看我明天做什么。</p&

48、gt;<p><b>  參考文獻(xiàn)</b></p><p>  1.嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).北京:清華大學(xué)出版社,1997</p><p>  2.曹桂琴,郭芳.數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)指導(dǎo)(第二版).大連理工大學(xué)出版社,2007</p><p>  3.張乃孝,等.算法與數(shù)據(jù)結(jié)構(gòu)----C語(yǔ)言描述.北京:高等教育出版社,200

溫馨提示

  • 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)論