checkCollection()함수의 역할은 2가지입니다. 먼저 현재까지 보유한 고양이 목록을 출력하고 5마리 다 모았는지 확인합니다. 먼저 현재까지 보유한 고양이 목록을 출력하는 부분을 작성합니다.
➊ printf()문으로 보유한 고양이 목록을 안내하는 문구를 출력합니다.
➋ 모든 상자에 고양이가 있는지 확인하므로 for 문을 사용해 상자 수(5)만큼 반복해서 확인합니다.
➌ 상자에 고양이가 있을 때와 없을 때 수행할 내용이 달라지므로 if-else 문으로 작성합니다. collection[i] 값이 0이면 상자에 고양이가 없으므로 ‘(빈 상자)’라고 출력합니다. 이때 실행결과에서 문자열을 10칸 간격으로 출력하도록 서식 지정자를 %10s로 설정합니다.
➍ collection[i] 값이 0이 아니면 상자에 고양이가 있다는 뜻이므로 else 문으로 가서 cats[i].name 값, 즉 고양이 이름을 출력합니다. 서식 지정자는 마찬가지로 %10s입니다.
➎ 반복문이 끝나면 구분하는 선을 출력합니다.
9.5 프로젝트.c
int checkCollection() {
printf("\n\n=== 보유한 고양이 목록이에요. ===\n\n"); --- ➊ 안내 문구
for (int i = 0; i < 5; i++) { -------------------------- ➋ 상자 수만큼 반복
if (collection[i] == 0) { -------------------------- ➌ 고양이 없음
printf("%10s", "(빈 상자)");
} else { ------------------------------------------- ➍ 고양이 있음
printf("%10s", cats[i].name);
}
}
printf("\n==================================================\n\n");
-------------------------------------------------------- ➎ 구분선 출력
}