freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c程序設(shè)計(jì)課件第8章-資料下載頁

2025-01-12 15:45本頁面
  

【正文】 : Person : Person : Bell :ElevatorButton : Door resetButton() turnOn() () passengerExits() () enterElevator() exitElevator 2022/2/9 68 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 系統(tǒng)中類的聲明 有以上的各種圖形的分析,可以得出系統(tǒng)所設(shè)計(jì)的所有類的聲明。電梯模擬系統(tǒng)中所涉及的類的聲明見表 85: Elevator(電梯)類 操作電梯內(nèi)按鈕,響鈴,移動(dòng)電梯到達(dá)指定樓層,開關(guān)門 Clock(時(shí)鐘)類 計(jì)算電梯運(yùn)行中的時(shí)間 Scheduler(計(jì)劃表)類 產(chǎn)生隨機(jī)時(shí)間,創(chuàng)建在某一時(shí)刻乘坐電梯的乘客 Person(乘客)類 完成對(duì)電梯按鈕和樓層按鈕的操作,以及進(jìn)入和離開電梯時(shí)通知電梯完成相應(yīng)動(dòng)作 Floor(樓層)類 電梯到達(dá)的樓層,以及乘客等待的樓層,通知樓層按鈕完成樓層按鈕的操作,并實(shí)現(xiàn)指示燈的開關(guān) 2022/2/9 69 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) FloorButton(樓層按鈕)類 召喚電梯,標(biāo)示電梯的移動(dòng)方向 ElevatorButton(電梯按鈕)類 提供電梯移動(dòng)的服務(wù) Door(門 )類 電梯到達(dá)指定樓層時(shí),乘客乘坐電梯時(shí)實(shí)現(xiàn)電梯門的開關(guān),通知乘客進(jìn)入或退出電梯。 Bell(響鈴)類 電梯到達(dá)指定位置時(shí)產(chǎn)生鈴聲提示 Light(指示燈)類 開關(guān)燈 Building(電梯模擬的總控)類 電梯模擬系統(tǒng)的總控類 所有類的聲明分別存放在不同的 c++頭文件中,電梯模擬系統(tǒng)所涉及的類的頭文件如 表 86: 2022/2/9 70 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 響鈴類:電梯到達(dá)指定位置時(shí)產(chǎn)生鈴聲 時(shí)鐘類:電梯運(yùn)行中時(shí)間的計(jì)算 門類:實(shí)現(xiàn)電梯門的開關(guān) 樓層類:通知樓層按鈕完成樓層按鈕的操作 指示燈類:開關(guān)燈 乘客類:電梯按鈕和樓層按鈕的操作,以及進(jìn)入和離開電梯時(shí)通知電梯完成相應(yīng)動(dòng)作 電梯按鈕類:電梯移動(dòng)的服務(wù) FloorButton .h 樓層按鈕類:召喚電梯,標(biāo)示電梯移動(dòng)方向 電梯類:操作電梯內(nèi)按鈕,響鈴,移動(dòng)電梯到達(dá)指定樓層,開關(guān)門 計(jì)劃表類:產(chǎn)生隨機(jī)時(shí)間,創(chuàng)建在某一時(shí)刻乘坐電梯的乘客 電梯模擬系統(tǒng)的總控類 表 86電梯模擬系統(tǒng)中所涉及類聲明的頭文件 各頭文件的詳細(xì)聲明(略)。 2022/2/9 71 3. 對(duì)象實(shí)現(xiàn) 本系統(tǒng)的對(duì)象實(shí)現(xiàn)由共 、 clock..cpp、 、 、 、 、 、 、 、 、 、 12個(gè)文件組成,其中,表 87顯示了各個(gè)文件的簡單說明。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 72 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 表 87 電梯模擬系統(tǒng)中所涉及的實(shí)現(xiàn)文件聲明 響鈴類的定義 clock..cpp 時(shí)鐘類的定義 計(jì)劃表類的定義 電梯類的定義 燈類的定義 乘客類的定義 門類的定義 樓層按鈕類的定義 電梯按鈕類的定義 樓層類的定義 總控類的定義 電梯模擬系統(tǒng)主程序 2022/2/9 73 現(xiàn)以電梯類為例,簡單給出電梯( Elevator)類中各操作的算法描述。 Elevator類中主要操作如下: ( 1) Elevator(Flooramp。 firstFloor , Flooramp。 secondFloor) // 電梯類的構(gòu)造函數(shù),分別在初始化列表中完成組合類電梯按鈕類、 floor、乘客類、時(shí)鐘類和響鈴類的對(duì)象初始化 ( 2) ~Elevator()// 電梯類的析構(gòu)函數(shù) 撤銷電梯。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 74 ( 3) summonElevator(int floor) // 呼喚電梯完成一特殊樓層的服務(wù) 算法描述: // 在某一樓層設(shè)置該樓層的電梯呼叫服務(wù)。 floor = = Floor :: FLOOR1 ? floor1NeedsService = true :floor2NeedsService = true。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 75 ( 4) prepareToLeave(bool leaving) // 電梯準(zhǔn)備離開 算法描述: // 獲取當(dāng)前呼叫電梯的樓層 Floor amp。 thisFloor = currentFloor ==Floor::FLOOR1 ? floor1Ref : floor2Ref。 // 通知控制器這部電梯正要離開 ()。 // 電梯發(fā)送消息給門,請(qǐng)求關(guān)門 (thisFloor)。 // 電梯朝向指定電梯按鈕的指示方向移動(dòng) if(leaving) move()。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 76 ( 5) processTime(int time) // 通過檢測(cè)電梯到達(dá)目的樓下或準(zhǔn)備離開某樓層時(shí),更新電梯時(shí)間 算法描述: // 首先獲取當(dāng)前時(shí)鐘的時(shí)間 currentBuildingClockTime = time。 // 電梯按預(yù)先設(shè)定的樓層移動(dòng),則調(diào)用方法 processPossibleArrival()計(jì)算到達(dá)目的樓層的時(shí)間,否則調(diào)用 processPossibleDeparture()獲取電梯離開的時(shí)間 if( moving) processPossibleArrival()。 else processPossibleDeparture()。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 77 ( 6) passengerEnters(Person * const personPtr) // 乘客進(jìn)入電梯 // 獲取當(dāng)前進(jìn)入電梯的乘客 passengerPtr = personPtr。 cout工號(hào)為 passengerPtrgetID()進(jìn)入電梯 . currentFloorendl。 ( 7) passengerExits() // 乘客離開電梯 // 當(dāng)前乘客置空 passengerPtr = 0。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 78 ( 8) processPossibleArrival() // 電梯可能到達(dá)的樓層 算法描述: //如果時(shí)鐘獲取時(shí)間恰好是電梯到達(dá)樓層時(shí)間,則更新電梯,輸出當(dāng)前樓層 if( currentBuildingClockTime = arrivalTime){ currentFloor = (currentFloor ==Floor::FLOOR1 ? Floor::FLOOR2 : Floor::FLOOR1)。 direction = (currentFloor == Floor::FLOOR1 ? UP : DOWN)。 cout電梯到達(dá)第 currentFloor層 endl。 arriveAtFloor((currentFloor == Floor::FLOOR1) ? floor1Ref : floor2Ref)。 return。 } cout 電梯移動(dòng) (direction ==UP ? UP : DOWN)endl。} 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 79 ( 9) processPossibleDeparture() // 電梯準(zhǔn)備離開樓層 算法描述: { //本樓層需要電梯服務(wù) bool currentFloorNeedsService = currentFloor ==Floor::FLOOR1 ? floor1NeedsService : floor2NeedsService。 //其他樓層需要服務(wù) bool otherFloorNeedsService = currentFloor ==Floor::FLOOR1 ? floor2NeedsService : floor1NeedsService。 if (currentFloorNeedsService) { arriveAtFloor(currentFloor == Floor::FLOOR1 ? floor1Ref :floor2Ref)。 return 。 } else prepareToLeave(otherFloorNeedsService)。 } 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 80 ( 10) arriveAtFloor(Flooramp。 arrivalFloor) / / 電梯停在特定樓層 ,釋放按鈕,響鈴 算法描述: moving = false。 //reset status cout電梯按鈕被釋放 endl。 ()。 ()。 //通知樓層電梯到 Person *floorPersonPtr = ()。 (passengerPtr,floorPersonPtr,arrivalFloor,*this)。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 81 //這層需要服務(wù) bool currentFloorNeedsService = currentFloor == Floor::FLOOR1 ? floor1NeedsService : floor2NeedsService。 bool otherFloorNeedsService = currentFloor == Floor::FLOOR1 ? floor2NeedsService : floor1NeedsService。 if(!currentFloorNeedsService) { prepareToLeave(otherFloorNeedsService)。 } else currentFloor == Floor::FLOOR1 ? floor1NeedsService =false : floor2NeedsService = false。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 2022/2/9 82 其余各類中操作的詳細(xì)可參閱程序源代碼。 電梯模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1