더북(TheBook)

둘째, 어항의 물 높이가 0이 아니라면 물 높이가 100을 넘는지 확인해야 합니다. 100이면 물을 줄 필요가 없으니까요.

물 높이가 100을 넘는지 확인할 때는 현재 물 높이에 1을 더한 높이(물을 줬을 때), 즉 cursor[num - 1] + 1의 값이 100보다 작거나 같은지 확인합니다. 조건에 해당하면 cursor[num - 1] += 1을 해서 현재 물 높이에 1을 더합니다.

7.4 프로젝트.c

int level;
int arrayFish[6];
int * cursor; --------------------------------------- ➊ 어항 배열에 접근할 포인터 변수 선언

(중략)

int main(void) {
    (중략)
    cursor = arrayFish; ----------------------------- ➋ 포인터 변수에 어항 배열의 시작 주소 넣기
    while (1) {
        (중략)
        decreaseWater(prevElapsedTime);
        if (cursor[num - 1] <= 0) { ----------------- ➌ 조건 1. 어항의 물 높이가 0 이하
            printf("%d번 어항의 물고기는 이미 죽었으므로 물을 주지 않습니다.\n", num);
        } else if (cursor[num - 1] + 1 <= 100) { ---- ➍ 조건 2. 어항의 물 높이가 100 이하
            printf("%d번 어항에 물을 줍니다.\n\n", num); 
            // 물을 주면 물 높이 + 1(cursor[num - 1] = cursor[num - 1] + 1) 
            cursor[num - 1] += 1; 
        }
    }
    return 0;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.