짧지만 아주 좋은 연습문제일 것 같은데요...
저는 윈도우가 아니라~~ 화면 제어코드를 제거해서, 아래처럼 약간 수정했습니다.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define HOW_MANY 3
void main()
{
int num = 0;
while (1) {
printf("참가자의 수를 정하시오(%d 이상) : ", HOW_MANY);
scanf("%d",&num);
if ( num >= HOW_MANY )
break;
}
srand( (unsigned)time(NULL) );
for ( int i = 0; i < HOW_MANY; i++ ) {
int rand_num = rand() % num + 1;
printf("당첨번호 : %d\n",rand_num);
}
}
- 입력값을 제한하고, 틀린 입력이 들어오면 다시 입력받게 합니다.
- 3과 같은 값을 매직넘버라고 하는데, 이런 것은 #define 으로 하는 것이 좋습니다.
프로그램이 이제 시작입니다.
N 까지 자연수 중에서 중복되지 않도록 M 개를 랜덤하게 고르는 방법만 찾으면 되는데,
N 을 45, M 을 6 으로 하면 로또생성기가 되네요~~
계속 가 봅시다~~
운영체제 편견은 없지만, 저는 리눅서입니다.
요즘 개발 도구들은 맥과 리눅스를 먼저 고려합니다. 래퍼런스나 튜토리얼이 맥, 리눅스로 되어있고,
개발자가 선호하는 OS입니다.
윈도우는 약간 밀리는 느낌이고 어떤 경우는 무시당하기도 하지요.
하지만 윈도우용 어플을 개발한다면 윈도우에서 해야지요...
저도 리눅스로 바꾸려고 멀티부팅을 시켰는데 펌웨어가 오류나서 아직 못쓰고 있네요.
매직넘버라는 것을 잘 모르고있었는데 덕분에 좋은지식 얻고가네요!! 역시 kdj님👍👍👍
궁금한게 있는데 혹시 어떤 운영체제쓰시는지?