銀行**,看到排隊叫號機,自不量力模擬實現以下。
#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...