더북(TheBook)

5마리 고양이 중에서 무작위로 한 마리를 뽑습니다. 이를 위해 rand()함수로 뽑은 난수를 5로 나머지 연산합니다. 뽑은 값은 selected라는 정수형 변수를 선언해 저장합니다. 이렇게 하면 selected 변수에 0~4 숫자 중 하나가 저장됩니다. 이 숫자는 고양이 5마리의 번호이자 구조체 배열 cats의 인덱스가 됩니다.

9.5 프로젝트.c

#include <stdio.h>
#include <time.h> ----------------------- ➊ 헤더 파일 추가
#include <stdlib.h> --------------------- ➊ 헤더 파일 추가

typedef struct { 
    (중략)
 } CAT; 

CAT cats[5]; 
int collection[5] = { 0, 0, 0, 0, 0 }; -- ➋ 고양이를 담는 작은 상자, 보유한 고양이 표시(있으면 1, 없으면 0)

void initCats(); 

int main(void) {
    srand(time(NULL)); ------------------ ➊ 난수 초기화
    initCats(); 
    while (1) { ------------------------- ➌ 작은 상자가 채워질 때까지 무한 반복
       printf("두근두근! 어느 고양이의 집사가 될까요?\nEnter를 눌러 확인하세요!"); 
       ---------------------------------- ➍ 안내 문구 출력
       getchar(); ----------------------- ➎ Enter 입력받기
       int selected = rand() % 5; --------➏ 고양이 뽑기, 0~4 숫자 반환
    }
    return 0;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.