

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 第一章 課程設(shè)計目的和要求1</p><p> 1.1 課程設(shè)計目的1</p><p> 1.2 課程設(shè)計要求1</p><p> 第二章 課程設(shè)計任務(wù)內(nèi)容3</p><p> 2.1課程設(shè)計任務(wù)3</p&g
2、t;<p> 2.2 課程設(shè)計原理3</p><p> 2.3 課程設(shè)計內(nèi)容4</p><p> 第三章 詳細設(shè)計說明5</p><p> 3.1 模塊描述5</p><p> 3.2 性能描述5</p><p><b> 3.3 輸入項6</b></p
3、><p><b> 3.4 輸出項6</b></p><p> 3.5 數(shù)據(jù)結(jié)構(gòu)7</p><p> 3.6 算法介紹7</p><p><b> 3.7 流程圖8</b></p><p> 3.7.1 主程序流程圖8</p><p>
4、 3.7.2 算法流程圖9</p><p> 3.8 接口描述11</p><p> 3.9 限制條件13</p><p> 第四章 件使用說明13</p><p> 4.1 系統(tǒng)開發(fā)與運行環(huán)境13</p><p> 4.2系統(tǒng)的運行說明13</p><p> 4.3
5、運行結(jié)果13</p><p> 第五章 課程設(shè)計心得體會19</p><p> 附錄1:參考文獻20</p><p> 附錄2:程序清單21</p><p><b> 交通信號燈模擬</b></p><p> 第一章 課程設(shè)計目的和要求</p><p>
6、 1.1 課程設(shè)計目的</p><p> 根據(jù)學(xué)院課程安排,在大三的第一個學(xué)期我們開設(shè)了操作系統(tǒng)這門課程,操作系統(tǒng)可以說是是計算機系統(tǒng)的核心和靈魂,是計算機系統(tǒng)必不可少的組成部分。通過學(xué)習(xí),對于操作系統(tǒng)的運行方式以及設(shè)計理念有了較清楚的認識。</p><p> 要想真正學(xué)好并理解操作系統(tǒng)這門課程,不但需要理解操作系統(tǒng)的概念和原理,還需要加強操作系統(tǒng)實驗,上機進行編程實踐,現(xiàn)在一學(xué)期的課
7、程已經(jīng)結(jié)束,本次課程設(shè)計在同學(xué)們掌握理解該課程的基礎(chǔ)上,對操作系統(tǒng)內(nèi)部的一些具體項目的實現(xiàn)方法進行實戰(zhàn)演練,通過實踐將知識徹底掌握。</p><p> 操作系統(tǒng)課程設(shè)計是該課程重要的實踐教學(xué)環(huán)節(jié)。通過這次課程設(shè)計,一方面可以使學(xué)生更透徹地理解操作系統(tǒng)的基本概念和原理,擺脫抽象的理解,從實踐中將理論具體化;另一方面,通過課程設(shè)計還可以加強學(xué)生的實踐能力,培養(yǎng)學(xué)生獨立分析問題、解決問題、應(yīng)用知識的能力和創(chuàng)新精神。&
8、lt;/p><p> 本次課程設(shè)計的題目為交通信號燈模擬,在熟練掌握課本所講解的計算機的P操作和V操作的原理的基礎(chǔ)上,利用C++程序設(shè)計語言在windows操作系統(tǒng)下模擬實現(xiàn)交通信號燈的模擬,一方面加深對原理的理解,另一方面提高根據(jù)已有原理通過編程解決實際問題的能力,為進行系統(tǒng)軟件開發(fā)和針對實際問題提出高效的軟件解決方案打下基礎(chǔ)。</p><p> 1.2 課程設(shè)計要求</p>
9、<p> 在深入理解操作系統(tǒng)基本原理和充分理解課題的基礎(chǔ)上,對于選定的題目,獨立自主思考,通過查閱相關(guān)資料,先確定設(shè)計方案,設(shè)計程序的運行流程,分析程序所需的模塊及各個模塊所包含的功能,之后設(shè)計每個模塊的處理流程,并畫出相應(yīng)的流程圖,要求設(shè)計合理,利用VC++6.0編程實現(xiàn),并且程序要擁有可視化的運行界面,界面應(yīng)清楚地反映出系統(tǒng)的運行結(jié)果,之后個人確定好測試方案,選擇測試用例,對系統(tǒng)進程測試,運行程序并截圖,截圖要能充分
10、說明結(jié)果,說明系統(tǒng)的使用方法和特點,并提交課程設(shè)計報告。</p><p> 對于模擬交通信號燈的情況,要求在掌握P、V操作的基礎(chǔ)上,能夠進行合理的調(diào)度,并利用各種算法來實現(xiàn)車輛通行、控制、記錄等功能。</p><p> 第二章 課程設(shè)計任務(wù)內(nèi)容</p><p><b> 2.1課程設(shè)計任務(wù)</b></p><p>
11、 一個十字路口,共有四組紅綠燈,每個路口的車輛都遵循"紅燈停,綠燈行"的原則,假設(shè)將每一臺汽車都作為一個進程,請設(shè)計良好的機制,展示出合理的"十字路口交通管理"情況.</p><p> 車輛通行設(shè)定:路口寬度不限,對一個路口而言,只有當(dāng)一輛車通過路口(越過對面路口的交通燈后)后,其后續(xù)車輛才能繼續(xù)通過交通燈,車輛通過路口的時間可以固定,可以自行計算。</p>
12、<p> 進程的互斥:交通燈進程實際上是互斥的,即不能同時為紅或者同時為綠.</p><p> 進程的消息通信或其他通信方式:對車輛進程而言,每一個車輛在通過路口前,必須確認前面的車輛已經(jīng)通過了路口.</p><p> 進程的調(diào)度:停留在一個路口的車輛,決定其前進或等候的因素是交通燈和前面車輛的狀態(tài),需要設(shè)計一個良好的進程調(diào)度機制來控制所有車輛的通行。</p>
13、;<p> 2.2 課程設(shè)計原理</p><p> 本實驗利用P、V操作進行設(shè)計。</p><p> 信號量S是一個整數(shù),S大于等于零時代表可供并發(fā)進程使用的資源實體數(shù),但S小于零時則表示正在等待使用臨界區(qū)的進程數(shù)。</p><p> P原語操作的動作是:</p><p><b> ?。?)S減1;</b
14、></p><p> ?。?)若S減1后仍大于或等于零,則進程繼續(xù)執(zhí)行;</p><p> ?。?)若S減1后小于零,則該進程被阻塞后進入與該信號相對應(yīng)的隊列中,然后轉(zhuǎn)進程調(diào)度。</p><p> V原語操作的動作是:</p><p><b> ?。?)S加1;</b></p><p>
15、?。?)若相加結(jié)果大于零,則進程繼續(xù)執(zhí)行;</p><p> ?。?)若相加結(jié)果小于或等于零,則從該信號的等待隊列中喚醒一等待進程,然后再返回原進程繼續(xù)執(zhí)行或轉(zhuǎn)進程調(diào)度。</p><p> PV操作對于每一個進程來說,都只能進行一次,而且必須成對使用。在PV原語行期間不允許有中斷的發(fā)生。</p><p> 本課題利用P操作和V操作來模擬車輛的出發(fā)和到達。<
16、/p><p> 2.3 課程設(shè)計內(nèi)容</p><p> 假設(shè)在一個十字路口,共有四組紅綠燈,每個路口的車輛都遵循"紅燈停,綠燈行"的原則,假設(shè)將每一臺汽車都作為一個進程,要求設(shè)計良好的調(diào)度機制,展示出合理的"十字路口交通管理"情況.</p><p> 對于本程序,對于車輛通行,設(shè)定為路口的寬度不限,對一個路口而言,只有當(dāng)一輛
17、車通過路口(越過對面路口的交通燈后)后,其后續(xù)車輛才能繼續(xù)通過交通燈,車輛通過路口的時間可以固定,并且可以自行計算。交通燈的進程實際上是互斥的,即不能同時為紅或者同時為綠.對車輛進程而言,每一個車輛在通過路口前,必須確認前面的車輛已經(jīng)通過了路口.</p><p> 同時,停留在一個路口的車輛,決定其前進或等候的因素是交通燈和前面車輛的狀態(tài),需要設(shè)計一個良好的進程調(diào)度機制來控制所有車輛的通行。</p>
18、<p> 在模擬車輛運行的進程中,要求可以按要求捕捉所需要的車輛的出發(fā)時間。在進程程序設(shè)計的過程中要保證程序運行的流暢度,合理模擬車輛遇到紅綠燈變換是黃燈的暫停情況。</p><p> 對于結(jié)果的分析要能夠得到具有代表性的數(shù)據(jù),比如可以根據(jù)用戶需要捕獲特定的某輛車的情況等。</p><p> 第三章 詳細設(shè)計說明</p><p><b>
19、; 3.1 模塊描述</b></p><p> 對于交通信號燈模擬程序,其功能模塊圖如下圖3-1所示:</p><p> 圖3-1 交通信號燈模擬程序功能模塊圖</p><p> 對于交通信號燈模擬程序,系統(tǒng)需要實現(xiàn)的功能包括:</p><p> 1、模擬車輛駛出十字路口的一端。</p><p>
20、 2、模擬車輛到達路十字路口的另一端。</p><p> 3、可以記錄需要的車輛的出發(fā)時間和編號。</p><p> 4、利用有效的調(diào)度程序?qū)囕v的行進進行相應(yīng)的控制。</p><p> 5、要能對車輛是否能行進進行合理的判斷。</p><p> 6、要能合理的進行紅綠燈的變換操作。 </p><p>&
21、lt;b> 3.2 性能描述</b></p><p> 交通信號燈模擬程序,要求能模擬出交通信號燈處的車輛運行狀況,要求能進行合理的調(diào)度和紅綠燈切換,不考慮車輛在十字路口中間行駛的過程,視為離開后下一時刻直接到達對面。要求能記錄想要記錄的車輛的運行時間以及車輛編號。</p><p> 車輛的運行通過P操作和V操作執(zhí)行,P操作進行車輛駛出的操作,V操作進行車齡到達的操
22、作。</p><p> 車輛運行調(diào)度通過ETW和STN執(zhí)行,分別判斷南北向和東西向是否有車,由此來控制是否能進行通車。</p><p> 紅綠燈的變換用來調(diào)整南北和東西是否有車的狀態(tài),同時進行輸出,報告紅綠燈切換狀態(tài)并暫停2秒。</p><p><b> 3.3 輸入項</b></p><p> 對于交通信號燈模
23、擬程序,需要的輸入項包括:</p><p> 東、西、南、北四個方向的車輛數(shù)量,需要記錄的車兩的駛來方向和需要記錄的車輛的編號,如表3-1所示。</p><p> 表3-1 自行輸入數(shù)據(jù)表</p><p> 需要在定義里定義的數(shù)據(jù),可自行更改,如下:</p><p> 綠燈持續(xù)時間,如表3-2所示。</p><p&
24、gt; 表3-2 初始定義數(shù)據(jù)表</p><p><b> 3.4 輸出項</b></p><p> 對于交通信號燈模擬程序,需要的輸出項包括:</p><p> 車輛行駛的方向、車輛編號、車輛出發(fā)時間,如表3-3所示:</p><p><b> 表3-3 輸出項表</b></p&g
25、t;<p><b> 3.5 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 為了實現(xiàn)題設(shè)的要求,在VC++6.0環(huán)境下編譯實現(xiàn),整個系統(tǒng)的主要流程設(shè)計為如下步驟:</p><p> 1.定義全局變量用來存放實驗所需基本信息</p><p> 2.change函數(shù)實現(xiàn)交換無車標志的功能</p><p> 3.
26、P函數(shù)模擬P原語的功能</p><p> 4.V函數(shù)模擬V原語的功能</p><p> 5.ETW函數(shù)實現(xiàn)東西方向的車輛調(diào)度</p><p> 6.STN函數(shù)實現(xiàn)南北方向的車輛調(diào)度</p><p> 7.main函數(shù)實現(xiàn)程序的輸入接口以及模擬演示</p><p><b> 3.6 算法介紹</
27、b></p><p> 設(shè)計P(int i)函數(shù)用來實現(xiàn)從i(東西南北)方向等待車輛中挑出當(dāng)前的第一個并讓其通行,同時記錄此車的編號,輸出此車的發(fā)車時間。</p><p> 設(shè)計V(int i)函數(shù)實現(xiàn)時間的流逝,紅綠燈的轉(zhuǎn)換以及無車標志的轉(zhuǎn)換,同時輸出上一時刻調(diào)用P函數(shù)車輛的到達時間。</p><p> 設(shè)計東西調(diào)度函數(shù)ETW()以及南北調(diào)度函數(shù)STN
28、()在互斥方向無車且綠燈狀態(tài)下循環(huán)調(diào)用P、V函數(shù)實現(xiàn)單方向隊列上車輛的循環(huán)調(diào)度。</p><p> 設(shè)計main()函數(shù)用來提供程序的輸入接口,并實現(xiàn)南北東西方向函數(shù)的交叉調(diào)度,以及預(yù)測車輛出發(fā)時間的輸出顯示。</p><p><b> 3.7 流程圖</b></p><p> 3.7.1 主程序流程圖</p><p
29、> 交通信號燈模擬程序,運行開始時顯示制作人信息,確定后按要求輸入各個方向的車輛數(shù)量,之后輸入初始紅綠燈狀況并輸入要記錄的車輛的來向和車輛編號。組程序的流程圖如圖3-2所示。</p><p> 圖3-2 交通信號燈模擬主程序流程圖</p><p> 3.7.2 算法流程圖</p><p> P(int i)函數(shù)用來實現(xiàn)從i(東西南北)方向等待車輛中挑出
30、當(dāng)前的第一個并讓其通行,同時記錄此車的編號,輸出此車的發(fā)車時間,P操作算法流程圖如圖3-3所示。</p><p> 圖3-3 P操作算法流程圖</p><p> V(int i)函數(shù)實現(xiàn)時間的流逝,紅綠燈的轉(zhuǎn)換以及無車標志的轉(zhuǎn)換,同時輸出上一時刻調(diào)用P函數(shù)車輛的到達時間,V操作算法流程圖如圖3-4所示:</p><p> 圖3-4 V操作算法流程圖</p
31、><p><b> 3.8 接口描述</b></p><p> int Max[4]</p><p> 說明:記錄東、西、南、北四個方向的車數(shù)量。</p><p><b> int Time</b></p><p> 說明:記錄當(dāng)前行進時間。</p>&l
32、t;p><b> int R[30]</b></p><p> 說明:記錄當(dāng)前車輛的編號。</p><p><b> int PS</b></p><p> 說明:用來存儲東西南北的數(shù)字編號。</p><p><b> int PN</b></p>
33、<p> 說明:存儲預(yù)測車輛編號。</p><p><b> int PT</b></p><p> 說明:用來存儲測車輛出發(fā)時間。</p><p><b> int SN</b></p><p> 說明:東西有無車(1無車,0有車)</p><p>&
34、lt;b> int EW</b></p><p> 說明:南北有無車(1無車,0有車)</p><p><b> int T</b></p><p> 說明:紅綠燈變幻時間。</p><p><b> int L[2]</b></p><p>
35、說明:東西方向紅綠燈狀態(tài),0時為紅燈,1時為綠燈。</p><p> char FX[4]</p><p> 說明:用來存儲東西南北四個方向的名字,分別為E、W、S、N。</p><p><b> 3.9 限制條件</b></p><p> 交通信號燈模擬程序限制條件如下:</p><p>
36、; 1、每個方向的車輛數(shù)量不能超過100;</p><p> 2、車輛按照先后次序進行排號,不能自定義編號;</p><p> 3、必須指定程序開始執(zhí)行時的紅綠燈狀況。</p><p> 第四章 軟件使用說明</p><p> 4.1 系統(tǒng)開發(fā)與運行環(huán)境</p><p> 代碼實現(xiàn):C++語言程序</
37、p><p> 開發(fā)工具:Microsoft Visual C++ 6.0</p><p> 運行環(huán)境:windows XP或更高版本操作系統(tǒng)</p><p> 執(zhí)行方式:文件打開后直接執(zhí)行</p><p> 窗口界面:MS-DOS窗口界面</p><p> 操作方式:全鍵盤控制</p><p&
38、gt; 操作需要相關(guān)專業(yè)技能:無</p><p> 4.2系統(tǒng)的運行說明</p><p> 交通信號燈模擬程序的運行說明如下:</p><p> 1、按照系統(tǒng)提示一步一步向下走即可順利執(zhí)行程序。</p><p> 2、輸入數(shù)據(jù)的過程中一定要盡量保證數(shù)據(jù)的正確性,防止因數(shù)據(jù)不正確而造成程序的崩潰等問題。</p><
39、p> 3、在所有數(shù)據(jù)都輸入之后,程序會自動直接開始運行,運行過程中程序會自動執(zhí)行到最后,而不會運行一步停下來等待用戶的指示,因此為了保證用戶檢驗數(shù)據(jù),請在運行之前做好充分的數(shù)據(jù)記錄,以便與理論值進行對照。</p><p> 本系統(tǒng)是一款多功能,操作方便,界面友好的軟件。軟件所提供的所有功能都可以通過鍵盤操作實現(xiàn),簡單易行,會給用戶的相關(guān)操作帶來很大方便。</p><p><
40、b> 4.3 運行結(jié)果 </b></p><p> 系統(tǒng)初始界面如圖4-1所示。</p><p> 圖4-1系統(tǒng)初始界面</p><p> 如果這里輸入錯誤,會顯示如圖4-2所示的界。</p><p><b> 圖4-2 錯誤報警</b></p><p> 當(dāng)輸入正確
41、后,會顯示如圖4-3所示的內(nèi)容。</p><p> 圖4-3 輸入正確顯示</p><p> 選擇紅綠燈狀態(tài)后會出現(xiàn)圖4-4的界面。</p><p> 圖4-4 選擇紅綠燈</p><p> 依次輸入四個方向的車的數(shù)量之后出現(xiàn)如圖4-5所示的畫面。</p><p> 圖4-5 輸入車輛數(shù)</p>
42、<p> 選擇預(yù)測方向之后會出現(xiàn)如果4-6所示的畫面。</p><p> 圖4-6 選擇預(yù)測方向</p><p> 輸入預(yù)測的車輛編號之后會直接開始執(zhí)行,出現(xiàn)如圖4-7所示的畫面。</p><p> 圖4-7 輸入編號開始執(zhí)行</p><p> 在運行過程中遇到紅綠燈切換的狀態(tài),如圖4-8所示。</p>&
43、lt;p> 圖4-8 紅綠燈切換文字及延時</p><p> 最終運行完畢后,程序會給出相應(yīng)預(yù)測的結(jié)果,內(nèi)容如圖4-9所示。</p><p><b> 圖4-9 預(yù)測結(jié)果</b></p><p> 第五章 課程設(shè)計心得體會</p><p> 三周的課程設(shè)計結(jié)束了,我的課程設(shè)計題目是交通信號燈模擬,通過課程
44、設(shè)計我 對P操作和V操作又有了更深入的認識,同時更加熟練的掌握了利用VC++6.0去解決這類模擬問題的方法。</p><p> 這次課程設(shè)計的題目不難,應(yīng)該說是比較簡單的,實現(xiàn)的過程也比較的順利,沒有特別大的難點,雖然比較簡單,但是依然能從中學(xué)到不少程序設(shè)計的方法,雖然是在windows平臺上進行設(shè)計,但也能從一定的程度上對Linux系統(tǒng)的設(shè)計方法得到了更深入的了解,加深了自己對課本上知識的認識。</p&
45、gt;<p> 最后,感謝老師對我的學(xué)習(xí)的指導(dǎo)!</p><p><b> 附錄1:參考文獻</b></p><p> [1] 胡志剛,譚長庚等,《計算機操作系統(tǒng)》,中南大學(xué)出版社2005年</p><p> [2] 羅宇,鄒鵬等,《操作系統(tǒng)》(第二版),電子工業(yè)出版社2007年4月</p><p>
46、; [3] 湯子瀛,哲風(fēng)屏,湯小冉等,《計算機操作系統(tǒng)》,西安電子科技大學(xué)出社,2001年8月</p><p> [4] 張堯?qū)W,史美林,《計算機操作系統(tǒng)課程》,清華大學(xué)出版社,2000年</p><p> [5] 龐麗萍,《操作系統(tǒng)原理》,華中理工大學(xué)出版社,2000年</p><p> [6] 馬季蘭等Linux操作系統(tǒng),電子工業(yè)出版社2002年<
47、/p><p> [7] 任愛華,李鵬,劉方毅,操作系統(tǒng)實驗指導(dǎo),清華大學(xué)出版社,2004年</p><p> [8] 譚浩強著.C程序設(shè)計,清華大學(xué)出版社,1999年12月第2版</p><p> [9] 譚浩強著.C++程序設(shè)計實踐指導(dǎo),清華大學(xué)出版社,2005年7月底1版</p><p> [10]【美】D.C.Malik:C++編程
48、——從問題分析到程序設(shè)計,電子工業(yè)出版社,2003年7月第1版</p><p><b> 附錄2:程序清單</b></p><p><b> 交通信號燈模擬:</b></p><p> #include <iostream></p><p> #include <windo
49、ws.h></p><p> #include <string></p><p> #include <stdio.h></p><p> using namespace std;</p><p> int Max[4];</p><p> int Time=0;</p&g
50、t;<p> int R[30];</p><p> int PS=1,PN=1,PT=1,SN=0,EW=1;</p><p><b> int T=30;</b></p><p><b> int L[2];</b></p><p> char FX[4];</p&
51、gt;<p> void P(int);</p><p> void V(int);</p><p> void change();</p><p> void STN();</p><p> void ETW();</p><p> void P(int i) //P函數(shù),i為方向判斷標志&
52、lt;/p><p><b> {</b></p><p> if(Max[i]>0)</p><p><b> {</b></p><p> Max[i] = Max[i]-1;//i方向上的車輛等待數(shù)目減一</p><p> R[i]++;//當(dāng)前車輛編號<
53、;/p><p> if((PS-1)==i&&R[i]==PN)</p><p> PT=Time;//保存預(yù)測時間</p><p> cout<<Time<<"時刻向"<<FX[i]<<"方向行駛的第"<<R[i]</p><p
54、> <<"輛車開始出發(fā)!"<<endl;</p><p><b> }</b></p><p> if(Max[++i]>0)</p><p><b> {</b></p><p> Max[i] = Max[i]-1;</p&
55、gt;<p><b> R[i]++;</b></p><p> if((PS-1)==i&&R[i]==PN)</p><p> PT = Time;</p><p> cout<<Time<<"時刻向"<<FX[i]<<"方向
56、行駛的第"<<R[i]</p><p> <<"輛車開始出發(fā)!"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> void V(int i) //V函數(shù),i為方向判斷
57、標志</p><p><b> {</b></p><p> Time=Time+4;//時間流逝</p><p> if(Max[i]>=0)</p><p><b> {</b></p><p> if(Max[i]==0)</p><
58、p> Max[i]=-1;</p><p> cout<<Time<<"時刻向"<<FX[i]<<"方向行駛的第"<<R[i]</p><p> <<"輛車到達對面!"<<endl;</p><p><b&
59、gt; }</b></p><p> if(Max[++i]>=0)</p><p><b> {</b></p><p> if(Max[i]==0)</p><p> Max[i]=-1;</p><p> cout<<Time<<&quo
60、t;時刻向"<<FX[i]<<"方向行駛的第"<<R[i]<<"輛車到達對面!"<<endl;</p><p><b> }</b></p><p> T=T-4;//綠燈時間減少</p><p><b> if(T&l
61、t;=0)</b></p><p><b> {</b></p><p><b> change();</b></p><p> int temp;//換燈</p><p> temp = L[0];</p><p> L[0] = L[1];</
62、p><p> L[1] = temp;</p><p> T = 30-Time%30;//修正紅綠燈時間</p><p><b> }</b></p><p><b> }</b></p><p> void ETW()//東西調(diào)度函數(shù)</p><
63、p><b> {</b></p><p> if(L[0]==0)//若為紅燈則交換</p><p><b> change();</b></p><p> while(T>0&&L[0]==1&&EW==1)//綠燈有時間且南北無車</p><p&g
64、t;<b> {</b></p><p> int b = 0;</p><p><b> P(b);</b></p><p><b> V(b);</b></p><p><b> }</b></p><p><b
65、> }</b></p><p> void STN()//南北調(diào)度函數(shù)</p><p><b> {</b></p><p> if(L[1]==0)</p><p><b> change();</b></p><p> while(T>
66、0&&L[1]==1&&SN==1)//綠燈有時間且東西無車</p><p><b> {</b></p><p> int a = 2;</p><p><b> P(a);</b></p><p><b> V(a);</b><
67、/p><p><b> }</b></p><p><b> }</b></p><p> void change()</p><p><b> {</b></p><p> cout<<"紅綠燈變換,所有未通過車輛停止運行。
68、"<<endl;</p><p><b> int ss;</b></p><p><b> ss=SN;</b></p><p><b> SN=EW;</b></p><p><b> EW=ss;</b></p&g
69、t;<p> Sleep(2000);</p><p><b> }</b></p><p> int main()</p><p><b> {</b></p><p><b> int a;</b></p><p><b
70、> char b;</b></p><p><b> for(;;)</b></p><p><b> {</b></p><p> cout<<"******************交通信號燈模擬*********************"<<endl
71、</p><p> <<"* 班級:網(wǎng)絡(luò)工程102001班*"<<endl</p><p> <<"* 學(xué)號:201020030103 *"<<endl</p><
72、;p> <<"* 制作人:崔雷 *"<<endl</p><p> <<"*****************************************************"<<endl</p><p> &l
73、t;<"輸入Y繼續(xù):";</p><p><b> cin>>b;</b></p><p> if(b=='Y'||b=='y')</p><p><b> break;</b></p><p><b> els
74、e</b></p><p> cout<<"您的輸入有誤,請重新輸入"<<endl;</p><p><b> }</b></p><p> system("cls");</p><p><b> while(1)</b&
75、gt;</p><p><b> {</b></p><p> cout<<"歡迎進入模擬信號燈系統(tǒng)"<<endl;</p><p> cout<<"請選擇東西方信號燈狀態(tài):"<<endl;</p><p> cout<
76、<"\t1.紅燈 \n";</p><p> cout<<"\t2.綠燈 \n";</p><p><b> int a;</b></p><p><b> cin>>a;</b></p><p><b> if
77、(a==1)</b></p><p><b> {</b></p><p><b> L[0] = 0;</b></p><p><b> L[1] = 1;</b></p><p><b> break;</b></p>
78、<p><b> }</b></p><p><b> if(a==2)</b></p><p><b> {</b></p><p><b> L[0] = 1;</b></p><p><b> L[1] = 0;<
79、;/b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> cout<<"請依次輸入東、西、南、北等待的車輛數(shù):"<<endl;
80、</p><p> cin>>Max[0]>>Max[1]>>Max[2]>>Max[3];//輸入各方位車輛數(shù)量</p><p> cout<<"請輸入選擇預(yù)測的方向:"<<endl;</p><p> cout<<"\t1.E-東\n&q
81、uot;;</p><p> cout<<"\t2.W-西\n";</p><p> cout<<"\t3.S-南\n";</p><p> cout<<"\t4.N-北\n";</p><p><b> cin>>P
82、S;</b></p><p> cout<<"請輸入預(yù)測車輛的編號:"<<endl;</p><p><b> cin>>PN;</b></p><p><b> Time = 0;</b></p><p><b>
83、 T =32;</b></p><p><b> EW = 1;</b></p><p><b> SN = 1; </b></p><p> FX[0]='E';</p><p> FX[1]='W';</p><p>
84、 FX[2]='S';</p><p> FX[3]='N';</p><p> while(Max[0]!=-1&&Max[1]!=-1&&Max[2]!=-1&&Max[3]!=-1)//表示四個方向有車循環(huán),無車就停止循環(huán)</p><p><b> {</b
85、></p><p> if(L[0]==0)</p><p><b> {</b></p><p><b> STN();</b></p><p><b> ETW();</b></p><p><b> }</b>
86、</p><p><b> else</b></p><p><b> {</b></p><p><b> ETW();</b></p><p><b> STN();</b></p><p><b> }&l
87、t;/b></p><p><b> }</b></p><p> cout<<"向"<<FX[PS-1]<<"行駛編號為"<<PN<<"的車輛預(yù)測出發(fā)時間為:"<<PT<<endl;</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通信號燈課程設(shè)計---交通信號燈系統(tǒng)設(shè)計
- 課程設(shè)計交通信號燈
- 交通信號燈課程設(shè)計
- 交通信號燈課程設(shè)計
- 交通信號燈課程設(shè)計
- 課程設(shè)計--- 交通信號燈系統(tǒng)設(shè)計
- 交通信號燈課程設(shè)計
- 交通信號燈課程設(shè)計--交通信號燈控制電路的設(shè)計
- 交通信號燈課程設(shè)計7
- 交通信號燈控制課程設(shè)計
- 交通信號燈控制課程設(shè)計
- 課程設(shè)計---交通信號燈控制
- 交通信號燈課程設(shè)計報告
- 操作系統(tǒng)課程設(shè)計報告---信號燈模擬程序
- 交通信號燈課程設(shè)計--交通指揮信號燈控制系統(tǒng)設(shè)計
- 課程設(shè)計---交通信號燈控制設(shè)計
- 單片機課程設(shè)計--模擬交通信號燈
- 信號燈課程設(shè)計---簡易交通信號燈控制器
- 數(shù)電交通信號燈課程設(shè)計---交通信號燈控制器仿真設(shè)計
- 數(shù)電交通信號燈課程設(shè)計
評論
0/150
提交評論