閱覽室問題(C 實現)

2021-09-24 17:21:36 字數 983 閱讀 7170

#實現語言:c#

#問題描述

有乙個閱覽室,共有10個座位,讀者進入時必須先在一張登記表上登記,該錶為每一座位列一表目,包括座號和讀者姓名等,讀者離開時要消掉登記的資訊

#問題分析

讀者的動作有兩個,一是填表進入閱覽室,這時要考慮閱覽室裡是否有座位;一是讀者閱讀完畢,離開閱覽室,這時的操作要考慮閱覽室裡是否有讀者.讀者在閱覽室讀書時,由於沒有引起資源的變動,不算動作變化.

演算法的訊號量有三個:seatcount——表示閱覽室是否有空座位(初值為10,代表閱覽室的空座位數);用於互斥的mutex,初值為1.

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading;

}public

static

void

reader()

} mutex.

release()

; console.

writeline

("閱讀中");

thread.

sleep

(5000);

mutex.

waitone()

; console.

writeline

("登出");

for(int i =

0; i <

10; i++)}

mutex.

release()

; seatcount.

release()

;}}}

閱覽室(模擬)

天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...

pat 閱覽室(c語言實現)

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整...

閱覽室 20分

天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...