A link to my PasteBin:
http://pastebin.com/nzW3hZdT
私は3時間かけてファーストフード店をシミュレートしているところです。3時間は、それぞれ10分からなる18の間隔に分割されます。
1分あたりの「r」顧客の到着率に基づいて、「R」が確立されます。Rは、確率による、18の間隔すべての到着率です(多かれ少なかれr / 60です)。
このシミュレーションの目的は、「r」を自分で定義し、18の間隔すべてにおける各顧客の平均待機時間(avgWait)を確認することです。一般に、「r」が大きいほど、「avgWait」も大きくなります。
私のコード(上に貼り付けた)のこの時点で、平均待機時間は適切に印刷されています...1人の顧客の場合。
1番目と2番目の顧客がそれぞれキャッシャー1と2で注文を受け取るのに、約85秒かかるとします。この85秒の間に、より多くの顧客が到着した可能性が高いですが、それ以降cash1empty=FALSE
、cash2empty=FALSE
明らかに注文を受け取ることができません。 。
このキューを設定して、最初の2つの注文が処理された後、処理されるのを待っている他の人が何人かいることをプログラムが認識できるようにするにはどうすればよいですか?
コードの抜粋:
if ((cash1empty==TRUE)&&(cash2empty==TRUE))
{
switch((rand()%2))
{
case 0:
cash1empty=FALSE;
break;
case 1:
cash2empty=FALSE;
break;
}
}
if (cash1empty==TRUE)
{
cash1empty=FALSE;
switch((rand()%2))
{
case 0:
cash1salad=(rand()%(66-55)+55);
totalWait+=cash1salad;
break;
case 1:
cash1burger=(rand()%(131-111)+111);
totalWait+=cash1burger;
break;
}
}
else if (cash2empty=TRUE)
{
cash2empty=FALSE;
switch(rand()%2)
{
case 0:
cash2salad=(rand()%(76-65)+65);
totalWait+=cash2salad;
break;
case 1:
cash2burger=(rand()%(141-121)+121);
totalWait+=cash2burger;
break;
}
}
else
{
queue++; // ???
/// I DON'T KNOW WHAT I'M DOING.
}
ご不便をおかけして申し訳ございませんが、「構造」はご利用いただけません。配列は受け入れられます!