C++

[c++] 로또 번호 추첨 프로그램

두구둥둥 2020. 3. 5. 16:19

한 언어에 빨리 익숙해지기 위해서는 프로그램을 만들어보는 것이라고 생각해서

기본적인 문법만 숙지한 후 바로 프로젝트를 만들어 보기로 했다.

 

 

<요구사항>

로또 번호 : 1~45 사이의 정수

 

<필요 기능>

난수생성

 

 

1)  <cstdlib> 헤더파일의 rand 난수 생성함수 사용

 

rand() 함수 => 0 ~ RAND_MAX 중 정수 1개 리턴

 

 

 

2)   seed값의 필요성

 

1~5번째 실행 결과값이 같다. => seed 값 때문

rand 함수는 seed값과 매칭되는 숫자가 정해지기 때문에 seed 값에 따라서 rand 함수의 결과 값이 변하게 된다!

즉, 같은 시드값이라면 몇십번 몇백번 실행해도 같은 난수값이 생성된다

 

따라서 실행중에 항상 변하는 seed값을 이용해야 되므로 항상 변화하는 숫자인 시간을 seed값으로 넣어보자

 

 

3)  시간을 seed값으로 넣기

 

시드값 지정 : srand(시드값)

 

시간 지정 : <ctime> 라이브러리의 time 함수 사용

                time (NULL);

 

=> srand((unsigned int)time(NULL));

 

 

4)   1~45 까지의 랜덤값 추출

 

" % 이용 "

 

엄청큰숫자 % 45   =  0~44 사이의 숫자

 

엄청큰숫자 % 45 + 1   =  1~45 사이의 숫자