티스토리 뷰

이 번글에서는 랩뷰를 이용하여 로또 프로그램을 만들어보도록 하겠습니다. 



로또 프로그램의 요구사항을 살펴볼까요.


로또 프로그램 요구사항

1. 로또 번호를 위한 1부터 45사이의 값 6개를 구한다.

2. 보너스 번호를 위해서 1부터 45사이의 값 1개를 더 구한다.

3. 로또 번호와 보너스 번호를 출력한다.


위의 기능을 수행하기 위해서는 가장 기본되는 알고리즘이 바로 1부터 45사이의 랜덤한 수를 구하는 방법입니다. 

랩뷰는 기본적으로 난수 함수를 제공하고 있습니다. 난수 함수는 프로그래밍 - 숫자형 - 난수를 선택하면 됩니다.


난수 함수는 0부터 1까지의 Double 형의 값을 리턴합니다.


로또 값을 만들기 위해서는 0-1 사이의 값을 이용하여 1부터 45사이의 값을 만들어야 겠죠.

따라서 최대의 값은 45, 최소값은 1이 나와야 합니다.


0~1사이의 값에 44를 곱하면 0부터 44사의 값이 나오게 되죠. 여기에 1을 더하면 1부터 45사이의 값이 나오게 됩니다. 

물론 Double형으로 나오는 값을 Int 형으로 변경을 해줘야겠죠.


코드를 살펴볼까요.

아래와 같이 구성이 됩니다. 



난수를 구하고, 44를 곱한뒤, 올림함수를 취해서 0부터 44까지 나오게 만들었습니다.

그리고 정수형을 만든 다음, 1을 더하면 1부터 45까지의 값이 나오게 되는것이죠.


1부터 45의 값을 구하는 알고리즘은 완료되었습니다.

이 값을 7개를 만들어서 로또번호 6개와 보너스 번호 1개로 사용하기 위해서는 For문과 배열 잘라내기를 통해서 아래와 같이 구성을 할 수 있겠죠. 




위의 코드를 실행하면 아래와 같은 결과를 볼 수 있습니다. 



하지만 위의 코드는 문제점을 가지고 있죠. 



버그라니, 버그라니 ㅋㅋㅋㅋㅋ

프로그램을 실행하다 보면 아래와 같이 중복수가 나오게 됩니다. 로또 프로그램에서 심각한 버그죠 



위의 버그를 수정하는 방법에 대해서는 다음 글에서 알아보도록 하겠습니다. 

이번 글에서는 랩뷰를 이용하여 로또 프로그램을 만들어 보았습니다.


이 글이 도움이 되셨으면, 아래의 하트를 눌러주세요.


댓글