




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上停車(chē)場(chǎng)管理系統(tǒng)1題目要求設(shè)有一個(gè)可以停放n輛汽車(chē)的狹長(zhǎng)停車(chē)場(chǎng),它只有一個(gè)大門(mén)可以供車(chē)輛進(jìn)出。車(chē)輛按到達(dá)停車(chē)場(chǎng)時(shí)間的早晚依次從停車(chē)場(chǎng)最里面向大門(mén)口處停放(最先到達(dá)的第一輛車(chē)放在停車(chē)場(chǎng)的最里面)。如果停車(chē)場(chǎng)已放滿(mǎn)n輛車(chē),則后來(lái)的車(chē)輛只能在停車(chē)場(chǎng)大門(mén)外的便道上等待,一旦停車(chē)場(chǎng)內(nèi)有車(chē)開(kāi)走,則排在便道上的第一輛車(chē)就進(jìn)入停車(chē)站。停車(chē)站內(nèi)如有某輛車(chē)要開(kāi)走,在它之后進(jìn)入停車(chē)場(chǎng)的車(chē)都必須先退出停車(chē)站為它讓路,待其開(kāi)出停車(chē)場(chǎng)后,這些車(chē)輛再依原來(lái)的次序進(jìn)場(chǎng)。每輛車(chē)在離開(kāi)停車(chē)場(chǎng)時(shí),都應(yīng)根據(jù)它在停車(chē)場(chǎng)內(nèi)停留的時(shí)間長(zhǎng)短交費(fèi)。如果停留在便道上的車(chē)未進(jìn)停車(chē)場(chǎng)就要離去,允許其離去,不收停車(chē)費(fèi),并且仍然
2、保持在便道上等待的車(chē)輛的次序。編制一程序模擬該停車(chē)場(chǎng)的管理?!净疽蟆恳蟪绦蜉敵雒枯v車(chē)到達(dá)后的停車(chē)位置(停車(chē)場(chǎng)或便道上),以及某輛車(chē)離開(kāi)停車(chē)場(chǎng)是的停車(chē)時(shí)間及它應(yīng)該交的費(fèi)用。2需求分析根據(jù)題目要求,因?yàn)橥\?chē)場(chǎng)是一個(gè)單條的序列,可以用結(jié)構(gòu)體實(shí)現(xiàn);在程序中,需要知道每輛來(lái)車(chē)的具體停放位置,應(yīng)提供提示、查找、標(biāo)記工作。車(chē)輛離開(kāi)要計(jì)時(shí)計(jì)費(fèi)。另外,每天開(kāi)始時(shí),停車(chē)場(chǎng)要初始化。3總體設(shè)計(jì)這個(gè)系統(tǒng)可以分為:初始化、有車(chē)進(jìn)入、有車(chē)離開(kāi)、退出四個(gè)模塊。4詳細(xì)設(shè)計(jì)開(kāi)始顯示一系列選項(xiàng)功能輸入n,判斷n是不是1-4?Y 根據(jù)n的值調(diào)用各功能模塊函數(shù)結(jié)束main()函數(shù)體內(nèi)包含了界面選則部分menu(),并單獨(dú)抽出來(lái)
3、作為一個(gè)獨(dú)立函數(shù),目的在于系統(tǒng)執(zhí)行每部分模塊后能夠方便返回到系統(tǒng)界面。即main()函數(shù)寫(xiě)為N如下:void main()/*主函數(shù)*/menu();/*菜單函數(shù)*/菜單函數(shù):void menu()int n,w;doputs("tt*MENU*nn");puts("ttt 1.初始化");puts("ttt 2.有車(chē)進(jìn)入");puts("ttt 3.有車(chē)離開(kāi)");puts("ttt 4.退出");puts("nntt*n");printf("Please choi
4、ce your number(1-4): bb");scanf("%d",&n);if(n<1|n>4) /*對(duì)選擇的數(shù)字作判斷*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break; /*初始化函數(shù)*/case 2:jinru();break; /*車(chē)輛進(jìn)入函數(shù)*/case 3:likai();break; /*車(chē)輛離開(kāi)函數(shù)*/case 4:exit(0); /*退出*/初始化模塊設(shè)計(jì):【需求分析】該模塊是將每一天開(kāi)始的停車(chē)場(chǎng)內(nèi)和便道車(chē)位清零。首先建立場(chǎng)內(nèi)場(chǎng)外的結(jié)構(gòu)
5、體,結(jié)構(gòu)體內(nèi)成員即車(chē)位的狀態(tài)。用循環(huán)實(shí)現(xiàn)車(chē)位的致零即可。struct changnei/*場(chǎng)內(nèi)車(chē)道信息*/int neikong;chnN-1;struct changwai/*場(chǎng)外車(chē)道信息*/int waikong;chwM-1;N和M分別是停車(chē)場(chǎng)和便道的車(chē)位預(yù)設(shè)值,用宏定義。用戶(hù)可根據(jù)實(shí)際情況改變。#define N 100/*預(yù)設(shè)停車(chē)場(chǎng)有100個(gè)車(chē)位*/#define M 100/*預(yù)設(shè)便道有100個(gè)出位*/ void chushi()/*初始化函數(shù)*/int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*將場(chǎng)內(nèi)車(chē)道設(shè)置為空*/for(j=0;j&l
6、t;=M-1;j+)chwi.waikong=0;/*將便道車(chē)道設(shè)置為空*/printf("nntt已初始化nn");menu();函數(shù)出示化后將回到菜單界面。車(chē)輛進(jìn)入函數(shù):【需求分析】車(chē)輛到達(dá)后,要指定車(chē)輛的停車(chē)位置。用戶(hù)根據(jù)菜單函數(shù)進(jìn)入車(chē)輛進(jìn)入模塊。按照每輛車(chē)的到達(dá)次序給予車(chē)輛次序號(hào),由0號(hào)開(kāi)始。車(chē)輛信息也建立結(jié)構(gòu)體。struct car/*車(chē)輛信息*/int car_num;/*車(chē)輛次序號(hào)*/int car_arr;/*車(chē)輛到達(dá)時(shí)間*/int car_lef;/*車(chē)輛離開(kāi)時(shí)間*/int car_stay;/*車(chē)輛停放位置*/carCIXUHAO;其中,CIXUHAO是
7、車(chē)輛次序號(hào)的宏定義:#define CIXUHAO 1000/*預(yù)設(shè)車(chē)輛次序號(hào)。不管車(chē)輛到達(dá)時(shí)停在場(chǎng)內(nèi)或便道,均依次設(shè)置一個(gè)次序號(hào),由0開(kāi)始*/給予車(chē)輛次序號(hào)之后,用循環(huán)判斷停車(chē)場(chǎng)是否停滿(mǎn),再分別給予選擇:場(chǎng)內(nèi)是否已滿(mǎn)已滿(mǎn),將車(chē)停在便道未滿(mǎn),指定停車(chē)場(chǎng)位置void jinru()/*車(chē)輛進(jìn)入函數(shù)*/int i,a;int h=0;printf("nn請(qǐng)輸入該車(chē)次序號(hào)(從0號(hào)開(kāi)始):");scanf("%d",&a);for(i=0;i<N;i+)if(chni.neikong=0);/*無(wú)車(chē)標(biāo)記0*/if(chni.neikong=1)/*
8、有車(chē)標(biāo)記1*/h=h+1;if(h=N)printf("停車(chē)場(chǎng)內(nèi)已停滿(mǎn),請(qǐng)停在便道上n");else cara.car_stay=h;chnh.neikong=1;printf("該車(chē)應(yīng)該停在停車(chē)場(chǎng)內(nèi)第道%d(從0道開(kāi)始記)n",h);printf("請(qǐng)輸入該車(chē)進(jìn)停車(chē)場(chǎng)時(shí)刻(24小時(shí)整點(diǎn)計(jì)時(shí)):n");scanf("%d",&cara.car_arr);便道上還有車(chē)嗎?menu();程序執(zhí)行完后回到菜單。有車(chē)離開(kāi)記錄該車(chē)離開(kāi)時(shí)間得到停車(chē)時(shí)間和費(fèi)用便道上還有車(chē)嗎?N返回主菜單Y令其進(jìn)場(chǎng)輸入次序號(hào)和進(jìn)場(chǎng)時(shí)間車(chē)輛
9、離開(kāi)函數(shù):【需求分析】若有一輛車(chē)要離開(kāi),則需要記錄該車(chē)的離開(kāi)時(shí)間,以計(jì)算出該車(chē)在停車(chē)場(chǎng)內(nèi)的停車(chē)時(shí)間和應(yīng)該繳納的費(fèi)用。該車(chē)離開(kāi)后,要判斷便道上是否有車(chē)等待進(jìn)入,如有,則將便道上第一輛車(chē)停放在停車(chē)場(chǎng)內(nèi)最后的位置并記錄好進(jìn)場(chǎng)時(shí)間;若無(wú),則返回菜單。void likai()/*車(chē)輛離開(kāi)函數(shù)*/int i,k,choi,time;double fee;printf("請(qǐng)輸入離開(kāi)車(chē)輛次序號(hào) ,并將此車(chē)之后的車(chē)先全部退出停車(chē)場(chǎng)!");scanf("%d",&i);printf("n請(qǐng)輸入離開(kāi)車(chē)輛的離開(kāi)時(shí)刻(24小時(shí)整點(diǎn)計(jì)時(shí)):n");sca
10、nf("%d",&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf("次序號(hào)為%d的車(chē)停車(chē)時(shí)間%d小時(shí),應(yīng)收費(fèi)%f元n",i,time,fee);printf("nnn請(qǐng)讓場(chǎng)內(nèi)退出的車(chē)再依次進(jìn)場(chǎng)!nnn");printf("便道上現(xiàn)在有車(chē)嗎?(請(qǐng)選擇1或2)n1.有n2.沒(méi)有n");/*因便道上可能沒(méi)有車(chē),因此要做選擇*/scanf("%d",&choi);i
11、f(choi=2)menu();if(choi=1)printf("請(qǐng)讓便道上的第一輛車(chē)進(jìn)場(chǎng)n");printf("該車(chē)次序號(hào)為:n");scanf("%d",&k);printf("請(qǐng)輸入該車(chē)進(jìn)場(chǎng)時(shí)間:n");scanf("%d",&cark.car_arr);menu();D為預(yù)設(shè)停車(chē)場(chǎng)單位小時(shí)費(fèi)用,用宏定義,便于以后修改。#define D 1.2/*預(yù)設(shè)車(chē)輛停車(chē)費(fèi)為1.2元每小時(shí)*/5上機(jī)操作(1) 主菜單函數(shù)(2) 初始化操作(3) 有車(chē)進(jìn)入以上分別舉例0,1,2三個(gè)車(chē)
12、的進(jìn)場(chǎng)情況(4) 有車(chē)離開(kāi)若便道上沒(méi)車(chē),則退回到主菜單若便道上有車(chē)6總結(jié)通過(guò)該實(shí)例的實(shí)習(xí),要求大家進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法,學(xué)會(huì)調(diào)試較長(zhǎng)的程序,學(xué)會(huì)利用流程圖表示算法,進(jìn)一步掌握和提高利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。7原程序代碼#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 100/*預(yù)設(shè)停車(chē)場(chǎng)有100個(gè)車(chē)位*/#define M 100/*預(yù)設(shè)便道有100個(gè)出位*/#define D 1.2/*預(yù)設(shè)車(chē)輛停車(chē)費(fèi)為1.2元每小時(shí)
13、*/#define CIXUHAO 1000/*預(yù)設(shè)車(chē)輛次序號(hào)。不管車(chē)輛到達(dá)時(shí)停在場(chǎng)內(nèi)或便道,均依次設(shè)置一個(gè)次序號(hào),由0開(kāi)始*/void menu();void chushi();void jinru();void likai();struct car/*車(chē)輛信息*/int car_num;/*車(chē)輛次序號(hào)*/int car_arr;/*車(chē)輛到達(dá)時(shí)間*/int car_lef;/*車(chē)輛離開(kāi)時(shí)間*/int car_stay;/*車(chē)輛停放位置*/carCIXUHAO;struct changnei/*場(chǎng)內(nèi)車(chē)道信息*/int neikong;chnN-1;struct changwai/*場(chǎng)外車(chē)道信息
14、*/int waikong;chwM-1;void main()/*主函數(shù)*/menu();/*菜單函數(shù)*/void menu()int n,w;doputs("tt*MENU*nn");puts("ttt 1.初始化");puts("ttt 2.有車(chē)進(jìn)入");puts("ttt 3.有車(chē)離開(kāi)");puts("ttt 4.退出");puts("nntt*n");printf("Please choice your number(1-4): bb");sca
15、nf("%d",&n);if(n<1|n>4)/*對(duì)選擇的數(shù)字作判斷*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break;/*初始化函數(shù)*/case 2:jinru();break;/*車(chē)輛進(jìn)入函數(shù)*/case 3:likai();break;/*車(chē)輛離開(kāi)函數(shù)*/case 4:exit(0);/*退出*/void chushi()/*初始化函數(shù)*/int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*將場(chǎng)內(nèi)車(chē)道設(shè)置為空*/for(j=0;
16、j<=M-1;j+)chwi.waikong=0;/*將便道車(chē)道設(shè)置為空*/printf("nntt已初始化nn");menu();void jinru()/*車(chē)輛進(jìn)入函數(shù)*/int i,a;int h=0;printf("nn請(qǐng)輸入該車(chē)次序號(hào)(從0號(hào)開(kāi)始):");scanf("%d",&a);for(i=0;i<N;i+)if(chni.neikong=0);/*無(wú)車(chē)標(biāo)記0*/if(chni.neikong=1)/*有車(chē)標(biāo)記1*/h=h+1;if(h=N)printf("停車(chē)場(chǎng)內(nèi)已停滿(mǎn),請(qǐng)停在便道上n&
17、quot;);else cara.car_stay=h;chnh.neikong=1;printf("該車(chē)應(yīng)該停在停車(chē)場(chǎng)內(nèi)第道%d(從0道開(kāi)始記)n",h);printf("請(qǐng)輸入該車(chē)進(jìn)停車(chē)場(chǎng)時(shí)刻(24小時(shí)整點(diǎn)計(jì)時(shí)):n");scanf("%d",&cara.car_arr);menu();void likai()/*車(chē)輛離開(kāi)函數(shù)*/int i,k,choi,time;double fee;printf("請(qǐng)輸入離開(kāi)車(chē)輛次序號(hào) ,并將此車(chē)之后的車(chē)先全部退出停車(chē)場(chǎng)!");scanf("%d",&i);printf("n請(qǐng)輸入離開(kāi)車(chē)輛的離開(kāi)時(shí)刻(24小時(shí)整點(diǎn)計(jì)時(shí)):n");scanf("%d",&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf("次序號(hào)為%d的車(chē)停車(chē)時(shí)間%d小時(shí),應(yīng)收費(fèi)%f元n",i,time,fee);printf("nnn請(qǐng)讓場(chǎng)內(nèi)退出的車(chē)再依次進(jìn)場(chǎng)!nnn");printf("便道上現(xiàn)在有車(chē)嗎?(
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)運(yùn)營(yíng)與財(cái)務(wù)管理試題及答案
- 2025年工程法規(guī)知識(shí)更新的重要性試題及答案
- 國(guó)風(fēng)國(guó)潮中國(guó)民族文化介紹主題科普模板
- 工程法規(guī)考試備考資料及試題
- 財(cái)務(wù)管理職業(yè)發(fā)展路徑與試題及答案
- 2025年工程法規(guī)考試中學(xué)術(shù)與實(shí)務(wù)的結(jié)合研究試題及答案
- 兒童圖書(shū)店創(chuàng)業(yè)項(xiàng)目計(jì)劃書(shū)
- 消防隊(duì)長(zhǎng)面試題及答案
- 消防隊(duì)的考試題及答案
- 中國(guó)桉樹(shù)肥行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 2025年蘇州市中考語(yǔ)文模擬試卷(三)(含答案)
- 100以?xún)?nèi)加法減法口算1000題知識(shí)測(cè)試打印
- 全國(guó)衛(wèi)生健康系統(tǒng)職業(yè)技能競(jìng)賽(傳染病防治監(jiān)督)參考試題(附答案)
- 中職《畜禽解剖生理》核心知識(shí)點(diǎn)備考試題(附答案)
- 學(xué)校食堂日清單、周匯-總、月結(jié)算制度
- 中職教案評(píng)比評(píng)價(jià)表
- 四年級(jí)語(yǔ)文下冊(cè) 第六單元 語(yǔ)文園地第1課時(shí)說(shuō)課稿 新人教版
- 高中數(shù)學(xué)核心概念和思想方法有效教學(xué)模式探討課件
- 2025年中國(guó)鐵塔浙江省分公司招聘筆試參考題庫(kù)含答案解析
- 醫(yī)院保密知識(shí)培訓(xùn)課件
- 第8章 宏觀經(jīng)濟(jì)政策
評(píng)論
0/150
提交評(píng)論