나는 3 시간 이상 패스트 푸드 레스토랑을 시뮬레이션 중입니다. 3 시간은 각각 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++)
이 시간 연속 함수가 될 수 없기 때문에 (for 루프)이 작동하지 않는이 방법. t = 599에서 첫 번째 간격으로 이벤트가 발생하면 두 번째 간격이 시작되면 모든 이벤트가 지워지기 때문에이 이벤트는 t = 601에 존재하지 않습니다.
내가 접근하고 싶은 방식은 시간이 연속 함수가되도록 허용하는 while 회 돌이를 만드는 것입니다. 내 코드를이 코드로 '변환'하는 방법을 모르겠습니다.
이렇게 될 수 있을까요?
while (t<10800)
{
...
}
루프가 종료 될 때 어떤 조건이 필요한지 잘 모르겠습니다.
이 필요한 경우, 여기 내 전체 코드입니다 : http://pastebin.com/3ec0Ks9u
while() 루프가 종료 될 때의 조건과 관련하여 (t <10800) 확립 된 것입니다. 고객 도착을 해고 할 때, [* modulus *] (http://www.cprogramming.com/tutorial/modulus.html) 단어는 당신에게 어떤 의미입니까? – WhozCraig
참조 문서에서 나누기 및 모듈러스를 찾으십시오. – pmg
저는 모듈러스 함수에 대해 어느 정도 익숙합니다. 프로그램에서 난수를 생성하기 위해 몇 번 사용했습니다. 일반적으로 % a는 a/b의 나머지 부분입니다. – EngGenie