6.6.3 약병 조합과 결과를 화면에 표시하기
회차당 조합할 약병 개수와 번호를 선택했으니 선택한 내용과 테스트 결과를 화면에 출력해 사용자에게 보여 줍니다. 먼저 선택한 내용을 표시해 봅시다.
➊ bottle 배열에서 요소의 값이 1이면 조합할 약병으로 선택됐다는 의미입니다. 따라서 for 문으로 bottle 배열을 돌며 요소의 값이 1인지 확인합니다. 변수 i, j는 앞에서 사용했으므로 여기서는 k를 사용합니다.
➋ bottle 배열의 값이 1이면 해당 약병 번호를 출력해 화면에 표시합니다. 이때 약병 번호는 배열의 인덱스 k가 아니라 k + 1로 출력합니다. 배열의 인덱스는 0부터 시작해서 그대로 사용하면 0, 1, 2, 3을 출력합니다. 화면에 보여 줄 때는 1, 2, 3, 4번으로 표시되도록 + 1을 해야 합니다.
➌ printf()문으로 선택된 약병 번호와 연결할 안내 문구를 출력합니다.
6.6 프로젝트.c
for (int i = 1; i <= 3; i++) {
(중략)
for (int j = 0; j < cntShowBottle; j++) { (중략) }
// 사용자에게 테스트 결과 표시
for (int k = 0; k < 4; k++) { ---------------- ➊ bottle 배열의 값 확인
if (bottle[k] == 1) { -------------------- ➋ 선택된 약병인지 확인
printf("%d ", k + 1); // 인덱스 + 1, %d 뒤에 빈칸 하나 넣기
}
}
printf("번 물약을 머리에 바릅니다.\n\n"); ---- ➌ 안내 문구 출력
}