더북(TheBook)

do-while 문을 빠져나오면 두 변수의 값이 다르다는 의미이므로 다음 회차에서 비교할 수 있게 prevCntShowBottle 변수에 이번 회차의 약병 개수인 cntShowBottle 변수의 값을 저장합니다.

추가로 이번이 몇 회차인지도 출력합니다. 회차를 나타내므로 for 문의 변수 i 값을 활용합니다.

6.6 프로젝트.c

int main(void) {
    srand(time(NULL)); 
    int treatment = rand() % 4; // 진짜 발모제 선택(0~3)
    printf("\n\n === 자라나라 머리카락 게임 === \n\n"); 
    int cntShowBottle = 0; --------------------- ➍ 이번 회차에 조합할 약병 개수
    int prevCntShowBottle = 0; ----------------- ➍ 앞 회차에서 조합한 약병 개수
    for (int i = 1; i <= 3; i++) { ------------- ➊ 3회 테스트
        int bottle[4] = { 0, 0, 0, 0 }; -------- ➋ 약병 4개를 담는 배열 선언
        do { ----------------------------------- ➎ 약병 개수가 다를 때까지 조합
            cntShowBottle = rand() % 2 + 2; ---- ➌➎ 조합할 약병 개수(0~1 + 2 -> 2~3)
        } while (cntShowBottle == prevCntShowBottle);
        prevCntShowBottle = cntShowBottle; ----- ➏ 이번 회차의 약병 개수 저장
        printf(" > %d번째 테스트 : ", i); ------ ➐ 회차 정보 출력
    }
    return 0;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.