版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言課程設計報告14停車場管理系統(tǒng)1題目要求設有一個可以停放n輛汽車的狹長停車場,它只有一個大門可以供車輛進 出。車輛按到達停車場時間的早晚依次從停車場最里面向大門口處停放(最先到達的第一輛車放在停車場的最里面)。如果停車場已放滿n輛車,則后來的車輛 只能在停車場大門外的便道上等待, 一旦停車場內有車開走,則排在便道上的第 一輛車就進入停車站。停車站內如有某輛車要開走,在它之后進入停車場的車都 必須先退出停車站為它讓路,待其開出停車場后,這些車輛再依原來的次序進場。 每輛車在離開停車場時,都應根據(jù)它在停車場內停留的時間長短交費。 如果停留 在便道上的車未進停車場就要離去, 允許其離去,不收停
2、車費,并且仍然保持在 便道上等待的車輛的次序。編制一程序模擬該停車場的管理?!净疽蟆恳蟪绦蜉敵雒枯v車到達后的停車位置(停車場或便道上),以及某輛車離開停車場是的停車時間及它應該交的費用。2需求分析根據(jù)題目要求,因為停車場是一個單條的序列,可以用結構體實現(xiàn);在程序中, 需要知道每輛來車的具體停放位置,應提供提示、查找、標記工作。車輛離開要 計時計費。另外,每天開始時,停車場要初始化 。3總體設計這個系統(tǒng)可以分為:初始化、有車進入、有車離開、退出四個模塊。4詳細設計mai n()函數(shù)體內包含了界面選則部分 men u(),并單獨 抽出來作為一個獨立函數(shù),目的在于系統(tǒng)執(zhí)行每部分 模塊后能夠方便
3、返回到系統(tǒng)界面。即ma in ()函數(shù)寫為如下:void mai n()/* 主函數(shù) */menu();/*菜單函數(shù)*/菜單函數(shù):void menu()int n,w;doputs("tt*MENU*nn");p uts("ttt 1.初始化");puts("ttt 2.有車進入");puts("ttt 3.有車離開");p uts("ttt 4.退出");puts("nntt*n");prin tf(" PI ease choice your number(1-4
4、): bb"); scan f("%d",&n);if(n<1|n>4) /*對選擇的數(shù)字作判斷*/w=1; getchar();else w=0;while(w=1);switch( n)case 1:chushi();break/*初始化函數(shù) */case 2:jinru();break;/*車輛進入函數(shù) */case 3:likai();break;/*車輛離開函數(shù) */case 4:exit(0);/* 退出 */初始化模塊設計:【需求分析】該模塊是將每一天開始的停車場內和便道車位清零。 首先建立場內場外的結 構體,結構體內成員即車位的
5、狀態(tài)。用循環(huán)實現(xiàn)車位的致零即可。struct changnei/*場內車道信息*/ int n eik ong;ch nN-1;struct changwai/*場外車道信息*/ int waik ong;chwM-1;N和M分別是停車場和便道的車位預設值,用宏定義。用戶可根據(jù)實際情況改 變。#defi ne N 100/*預設停車場有100個車位*/#defi ne M 100/*預設便道有100個出位*/void chushi()/*初始化函數(shù) */int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*將場內車道設置為空*/ for(j=0;j<
6、=M-1;j+)chwi.waikong=0;/*將便道車道設置為空*/ printf("nntt 已初始化 nn");menu();函數(shù)出示化后將回到菜單界面。車輛進入函數(shù):【需求分析】號,車輛到達后,要指定車輛的停車位置。用戶根據(jù)菜單函數(shù)進入車輛進入模塊。 按照每輛車的到達次序給予車輛次序號,由 0號開始。車輛信息也建立結構體。struct car/*車輛信息 */int car_num;/*車輛次序號*/int car_arr;/*車輛到達時間*/int car_lef;/*車輛離開時間*/ int car_stay;/*車輛停放位置*/ carCIXUHAO;其中,
7、CIXUHAO是車輛次序號的宏定義:口號,由 0開始*/給予車輛次序號之后,用循環(huán)判斷停車場是否停滿,再分別給予選擇:場內是否已滿已滿,將車停在便道未滿,指定停車場位置void jinru()/*車輛進入函數(shù)*/int i,a;int h=0;printf("nn請輸入該車次序號(從0號開始):"); sea nf("%d",&a);for(i=0;i<N;i+)if(ehni.neikong=0);/* 無車標記 0*/ if(ehni.neikong=1)/* 有車標記 1*/ h=h+1; if(h=N)printf("停車
8、場內已停滿,請停在便道上elsecara.car_stay=h; chn h. neik on g=1;printf("該車應該停在停車場內第道 printf("請輸入該車進停車場時刻( sca nf("%d",&cara.car_arr); "n");%d(從0道開始記)n",h); 24小時整點計時):n");便道上還有車嗎?menu();程序執(zhí)行完后回到菜單。#define CIXUHAO 1000/*預設車輛次序號。不管車輛到達時停在場內或便道, 均 依次設置一個次序車輛離開函數(shù):【需求分析】若有一
9、輛車要離開,則需要記 錄該車的離開時間,以計算出該車 在停車場內的停車時間和應該繳納 的費用。該車離開后,要判斷便道 上是否有車等待進入,如有,則將 便道上第一輛車停放在停車場內最 后的位置并記錄好進場時間;若無, 則返回菜單。void likai()/*車輛離開函數(shù)*/ int i,k,choi,time;double fee;printf("請輸入離開車輛次序號,并將此車之后的車先全部退出停車場!"); sca nf("%d",&i);printf("n請輸入離開車輛的離開時刻(24小時整點計時):n");sca nf(&
10、quot;%d",&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf("次序號為%d的車停車時間%d小時,應收費%f元n",i,time,fee); printf("nnn請讓場內退出的車再依次進場!nnn");printf("便道上現(xiàn)在有車嗎?(請選擇1或2)n1.有門2投有n");/*因便道上可能 沒有車,因此要做選擇*/sca nf("%d",&choi);if(
11、choi=2)menu();if(choi=1)printf("請讓便道上的第一輛車進場n");printf("該車次序號為:n");sea nf("%d",&k);printf("請輸入該車進場時間:n");sea nf("%d",&cark.car_anj; menu();D為預設停車場單位小時費用,用宏定義,便于以后修改。#define D 1.2/*預設車輛停車費為1.2元每小時*/5上機操作(1)主菜單函數(shù)M "I r匚:Users5unxiaoDe5Icto
12、pDebugTexl 1.exeX U tf M- U-空 H Sf-弩,曙須 LT phi T?UI I HW 甘 W ¥唇 H 豁唏“阿遛熱:弼開lPlease cJioice your number<l-4>: 1(2) 初始化操作E *C:UersVsunsi自oDesktop0eb-ug,T亡xtl啟陽Please cho iceyoui* nunbei?<l-4>: ftl已初始化WH WWMXWMMHMMHXfIENU WWMHWMWWKWWHW*遒入A#車離開4-lSflease choiceyour minbeL<l-4: 【 (3)
13、有車進入your nunbei'<i-4>: E21Please choice己寸 i B hnTT i-'v 開豈 0道螫 :0 7始j 干0 2 Tfic T-TJ1TA 碣第刻 從C場場 號4< 圧=王爭 次雷 WMjt車 該該該 八應入 請該請1卩l(xiāng)ease choice your nuRljei*<l-4>: 2】己寸-1 Q開點1道整山時殳 4IT 1 2卄道<刻(場場 號聿 次渤 霍車 該該該 請該請目Piease choice your numberCl-4>: L2 記時3道蹩 始鬻刻(場場 號辜 庠UT T 毒車 該
14、該該 #44輸以上分別舉例0,1,2三個車的進場情況(4) 有車離開Flease cho ice yum* nunbei*<l"4> : 3 請輸入離開車輛次序號】并將此車之后的車先全部退岀停車場! 0 請輸入離開車輛的離開時刻 3小時整點計時):欣序號為砒車停車時間?小時,應收費8 400000請讓場內退出的車再依次進場!更堇上現(xiàn)在有車嗎?"青選擇丄或2若便道上沒車,則退回到主菜單入幵化翳始12 3 4若便道上有車12.34-Pic ace cbo ice your nuPiher<l-4> : 3 1請輸入離開車輛次序號】并將此車之后的車先全部退
15、岀停車場! 2請輸入離開車輛的離開時刻(24小時整點計時): ?次序號為2的車停車時間卩小時,應收費10-800000元請辻場內退出的車再依次進場!便道上現(xiàn)在有車嗎?(請選擇丄或2L 有亠2 沒有!»讓便道上的第一輛車進場該車詼序號為:234請龜入該車迸場時間=?KMKMMMMMKMWMMwHEN UMMMMWMMMMMWMMM瀟離開3-/6總結通過該實例的實習,要求大家進一步理解和運用結構化程序設計的思想和方法, 初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法, 學會調試較長的程序,學會利用流 程圖表示算法,進一步掌握和提高利用 C語言進行程序設計的能力。7原程序代碼#i ncludevs
16、tdio.h>#in clude<stdlib.h>#i ncludevstri ng.h>#defi ne N 100/*預設停車場有100個車位*/#defi ne M 100/*預設便道有100個出位*/#define D 1.2/*預設車輛停車費為1.2元每小時*/#define CIXUHAO 1000/*預設車輛次序號。不管車輛到達時停在場內或便道,均依次設置一個次序號,由0開始*/void menu();void chushi();void jin ru();void likai();struct car/*車輛信息 */int car_num;/*車輛次
17、序號*/int car_arr;/*車輛到達時間*/int car_lef;/*車輛離開時間*/ int car_stay;/*車輛停放位置*/ carCIXUHAO;struct changnei/*場內車道信息*/ int n eik ong;ch nN-1;struct changwai/*場外車道信息*/ int waik ong;chwM-1;void mai n()/* 主函數(shù) */menu();/*菜單函數(shù)*/ void menu()int n,w;doputs("tt*MENU*nn");p uts("ttt 1.初始化");puts(&
18、quot;ttt 2.有車進入");puts("ttt 3.有車離開");p uts("ttt 4.退出");puts("nntt*n"); prin tf(" PI ease choice your number(1-4): bb"); scan f("%d",&n);if(n<1|n>4)/*對選擇的數(shù)字作判斷*/w=1;getchar();else w=0;while(w=1);switch( n)case 1:chushi();break;/初始化函數(shù) */
19、case 2:jinru();break;/*車輛進入函數(shù) */case 3:likai();break;/*車輛離開函數(shù) */ case 4:exit(0);/*退出 */ void chushi()/*初始化函數(shù) */int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*將場內車道設置為空*/ for(j=0;jv=M-1;j+)chwi.waikong=0;/*將便道車道設置為空*/ printf("nntt 已初始化 nn");menu(); void jinru()/*車輛進入函數(shù)*/int i,a;int h=0;print
20、f("nn請輸入該車次序號(從0號開始):"); sca nf("%d",&a);for(i=0;i<N;i+)if(chni.neikong=0);/* 無車標記 0*/ if(chni.neikong=1)/* 有車標記 1*/ h=h+1;if(h=N)n");%d (從0道開始記)n",h);24小時整點計時):n");printf("停車場內已停滿,請停在便道上 else cara.car_stay=h; chn h. neik on g=1;printf("該車應該停在停車場內第道 printf("請輸入該車進停車場時刻( sca nf("%d",&cara.car_arr); " menu(); void li
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年石墨及炭素制品項目發(fā)展計劃
- 2025版合同:技術服務合同(含技術培訓、技術中介)
- 電子工廠監(jiān)理工程師招聘協(xié)議
- 購物中心物業(yè)競標咨詢協(xié)議
- 臨時投資分析師聘用合同模板
- 軍事設施模板施工合同
- 2024年采購合同履約責任擔保
- 2025煙葉定購合同范文
- 建筑涂料施工機械安全合同
- 2025小區(qū)物業(yè)管理合同2
- 2024年遼寧石化職業(yè)技術學院單招職業(yè)適應性測試題庫必考題
- 理論力學(山東科技大學) 知到智慧樹網(wǎng)課答案
- 北師大版九下《直角三角形邊角關系》
- 中國音樂史與名作賞析智慧樹知到期末考試答案章節(jié)答案2024年山東師范大學
- 切斷機液壓系統(tǒng)畢業(yè)設計論文
- MOOC 人工智能導論-浙江工業(yè)大學 中國大學慕課答案
- 三位數(shù)除以兩位數(shù)-計算題-100題-豎式
- 圍手術期血糖管理指南
- 第1課 《蓼莪》 公開課一等獎創(chuàng)新教案(表格式)《大學語文(第四版)》(高職版)
- 項目式教學設計與實施
- 國際經濟學中文版(克魯格曼教材)課件
評論
0/150
提交評論