模擬銀行排隊叫號機 2011 04 18

2021-05-25 02:16:26 字數 872 閱讀 9829

銀行**,看到排隊叫號機,自不量力模擬實現以下。

#include

using namespace std;

#include

listlistint;

void putin(int a)

listint.push_back(a);

void getout()

if (listint.size()>0)

coutelse

cout<<"no person here!"cout<<"1--->11111:output(櫃檯1):"22222:output(櫃檯2):"putint(排隊領號):"int j = 0;

while (cin>>i)

switch (i)

case 1:

cout<<"11111: ";

getout();

break;

case 2:

cout<<"22222: ";

getout();

break;

case 3:

++j;

putin(j);

cout<<"您的號是:"default:

break;

return 0;

簡單的鍊錶實現。

排隊的號push_back到鍊錶尾,櫃檯端讀取乙個號,從鍊錶中把這個號刪了。

人家實際的應用中,應該是多執行緒互斥,需要解決多個櫃檯端同時叫號的問題。

應該也用到了資料庫,銀行什麼東西應該都有備份的,所以他們做的應該是把號存到

資料庫中,櫃檯端從資料庫裡面讀資料。

這是區域網實現的,我想用一下socket應該就夠了吧。

還是菜鳥,知識淺薄,妄自揣測,沒想到的地方還請高手指點一下……

使用執行緒模擬解決銀行排隊叫號問題

在銀行中有乙個叫號機,有乙個10個座位的長椅,客戶在叫號後如果無人在櫃檯前服務,就會去要求服務 如果櫃檯忙,則會找長椅入座 如果長椅滿則會離開。要求顯示輸出叫號過程,分析程式執行狀況,並對程式作出評估。定義兩個訊號量chair,call。使用sem init 初始化訊號量,分別賦值為11和2,因為使...

離散事件模擬 銀行排隊

某銀行有四個視窗接待客戶,每個視窗在某個時刻只能接待乙個客戶,人數多時則需要進行排隊,剛進來的客戶,視窗無人則進行業務辦理,有人則排隊,排在人數最少的隊伍後面。問題 計算在銀行關閉之前,計算客戶在銀行逗留的平均時間 用c寫的,給書上 的實現了下,如下 include include include ...

離散事件模擬 銀行排隊

假設不存在插隊的情況,並且人人都會選擇排到人數最少的那乙個視窗排隊。假設人們陸續到達銀行,不會同時到達銀行。如下 include include include define max size 10000 佇列的初始化長度 define end time 10000 銀行關門時間 using nam...