數(shù)據(jù)結構課程設計---停車場仿真_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  成績:</b></p><p><b>  經(jīng)濟與管理學院</b></p><p>  數(shù)據(jù)結構課程設計報告書</p><p>  信息管理與信息系統(tǒng)教研室</p><p><b>  課程設計報告目錄</b></p><p&g

2、t;  1. 任務書 …………………………………………………(3)</p><p>  2. 課題說明與分析…………………………………………(5)</p><p>  3. 程序流程圖 ……………………………………………(6)</p><p>  4. 數(shù)據(jù)結構與程序模塊說明 ……………………………(7)</p><p>  結束語……………

3、………………………………………(11)</p><p>  致謝 ……………………………………………………(11)</p><p>  參考文獻 ………………………………………………(11)</p><p><b>  1任務書 </b></p><p>  課 程 設 計 任 務 書</p>&l

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

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

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

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

8、場時,根據(jù)車輛車牌號碼判斷是否為停車場位車輛,如果為停車場位車輛則收費,只記錄車輛離開停車場時間。所有進出停車場的信息包括車牌號碼、進入時間、離開時間、停車費用。</p><p><b>  3.程序流程圖</b></p><p>  4.數(shù)據(jù)結構與程序模塊說明</p><p><b>  源程序:</b></p&g

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

10、* 每秒鐘每輛車的費用 */</p><p>  typedef struct time {</p><p><b>  int hour;</b></p><p><b>  int min;</b></p><p>  int sec;}time1; /

11、* 定義時間 */</p><p>  typedef struct NODE</p><p>  { /* 定義停車場棧 */</p><p>  int car_number[MAX] ;</p><p>  time1 al_time[MAX];</p>

12、<p>  int top; }*sqpark;</p><p>  typedef struct Node /* 定義便道隊列*/</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) /* 初始化停車場棧 */</p><p>  { s->top=0;</p><p><b>  }</b></

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

15、 /* 車輛進入函數(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) /* 停車場未滿 */</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) /* 車輛離開函數(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)/* 判斷停車場是否有車 */</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)/* 便道有車停車場有空位 */

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>  結束語</b></p><p>  通過這次停車場課程設計,我不僅進一步學習了數(shù)據(jù)結構這門課程,而且初步了解了系統(tǒng)的主

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

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

溫馨提示

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

評論

0/150

提交評論