我在三小時內模擬一家快餐店。三個小時分爲每個600秒的18個間隔。每個間隔輸出有關這600秒發生的事件的統計數據。如何將兩個(for循環)轉換爲(while循環)?
我原來的結構是這樣的:
int i;
for (i=0; i<18; i++)
interval(customerArrive);
int interval(double customerArrive)
...
...
int t;
for (t=0;t<600;t++)
中的兩個(環路)不起作用,因爲它不允許時間是一個連續函數這種方法。如果在t = 599的第一個時間間隔內發生事件(如客戶到達),那麼這個事件將不會在t = 601存在,因爲隨着第二個時間間隔的開始,所有事件都將被清除。
我想要這樣做的方式是讓一個while循環讓時間成爲一個連續的函數,我只是不知道如何將我的代碼「轉換」爲此。
會是這樣的嗎?
while (t<10800)
{
...
}
我不確定這個while循環退出時需要什麼條件。
如果有必要,這是我的全碼:http://pastebin.com/3ec0Ks9u
關於while()循環何時退出的條件,您已經確定(t <10800)。關於何時啓動客戶到達,單詞[* modulus *](http://www.cprogramming.com/tutorial/modulus.html)對您來說意味着什麼? – WhozCraig
在你的參考文件中查找除法和模量。 – pmg
我對模量函數有點熟悉。我在程序中用了幾次來產生隨機數。通常,%b是a/b的其餘部分。 – EngGenie