2020. 4. 15.

[c] 인프런 24. Switch Case 강의 정리



srand(time(NULL)); 사용하기 위해서는 위에서 time.h 불러와야 사용이 가능하다.


// 가위 0 바위 1 2
srand(time(NULL));
int i = rand() % 3;// 0 - 2 반환
if (i == 0)
{
printf("가위\n");

}

else if (i == 1)
{
printf("바위\n");
}

else if (i == 2)
{
printf("\n");
}

else
{
printf("몰라\n");
}


srand(time(NULL));
int i = rand() % 3; // 0 - 2 반환

srand 사용 수를 초기화 하는 해주는 함수이다. 하지만 임의로 들어있는 숫자에 대비하는 숫자를 내뱉기 때문에 패턴이 정해져있다. 그래서 time 시간을 넣어서 시간에 대비하여 랜덤하게 나오게 하는것이다.
rand 랜덤한 숫자를 반환하는 함수로 %3 0부터 2까지 세개의 함수를 반환한다는 뜻이다.


srand(time(NULL));
int i = rand() % 3;// 0 - 2 반환
switch (i)
{
case 0:printf("가위\n");
case 1:printf("바위\n");
case 2:printf("\n");
default:printf("몰라요\n");
}


case문은 원래 구문마다 break 넣어줘야 한다.
break문이 없으면 다음명령어들을 모두 조건보지도 않고 실행된다.


srand(time(NULL));
int i = rand()%3;// 0 - 2 반환
switch (i)
{
case 0:printf("가위\n"); break;
case 1:printf("바위\n"); break;
case 2:printf("\n"); break;
default:printf("몰라요\n"); break;
}



int age = 20;
switch (age)
{

case 8: printf("초등학생입니다.\n"); break;
case 9: printf("초등학생입니다.\n"); break;
case 10: printf("초등학생입니다.\n"); break;
case 11: printf("초등학생입니다.\n"); break;
case 12: printf("초등학생입니다.\n"); break;
case 13: printf("초등학생입니다.\n"); break;
case 14: printf("중학생입니다.\n"); break;
case 15: printf("중학생입니다.\n"); break;
case 16: printf("중학생입니다.\n"); break;
case 17: printf("고등학생입니다.\n"); break;
case 18: printf("고등학생입니다.\n"); break;
case 19: printf("고등학생입니다.\n"); break;
default : printf("학생이 아닌가봐요.\n"); break;

}


case문으로 출력
case문을 너무 많이 써야해서 귀찮으니 break 이용해서 다르게 변환


int age = 15;
switch (age)
{

case 8:
case 9:
case 10:
case 11:
case 12:
case 13: printf("초등학생입니다.\n"); break;
case 14:
case 15:
case 16: printf("중학생입니다.\n"); break;
case 17:
case 18:
case 19: printf("고등학생입니다.\n"); break;
default : printf("학생이 아닌가봐요.\n"); break;

}


case8부터는 계속해서 내려가게 진행되서 13 가서 출력 이후 break 실행하며 탈출한다.
중학생, 고등학생도 마찬가지


댓글 없음:

댓글 쓰기