이벤트 1에 대한 추첨 프로그램입니다.
시간이 되면 이 프로그램도 한번쯤 분석해 보시기 바랍니다.
그냥 단순하게 5개의 난수만을 발생시키면 프로그램 길이는 5줄 정도될 것입니다.
그런데, 난수는 중복 번호가 발생될 수 있으므로 이를 검사할 필요가 있습니다.
---------------------------------------------------------------
Option Base 1
Private 당첨자(5) As Integer
Private sw As Integer
Private Sub Command1_Click()
Dim 참가인원 As Integer
참가인원 = 30
Randomize
당첨자(1) = Int(Rnd * 참가인원) + 1
For cnt = 2 To 5
Do
난수 = Int(Rnd * 참가인원) + 1
sw = 중복당첨검사(난수, cnt)
If (sw = 0) Then 당첨자(cnt) = 난수
Loop While (sw)
Next
For cnt = 1 To 5
Print 당첨자(cnt)
Next
Print
End Sub
Public Function 중복당첨검사(난수, cnt) As Integer
sw = 0
For i = 1 To cnt
If (당첨자(i) = 난수) Then
sw = 1
Exit For
End If
Next
중복당첨검사 = sw
End Function
---------------------------------------------------------------
지금 현재 참가 인원이 약 30명입니다.
그래서 위의 프로그램에서 '참가인원 = 30'을 했습니다.
추첨은 2010년 9월 25일 정오(12시)에 이 프로그램을 실행하여 커맨드 버튼을 클릭하는 것으로 하겠습니다.
참가자의 일련번호는 다음과 같이 정해서 추첨 10분전에 올릴 예정입니다.
1. 천재깡 - 첫 번째 참가한 분
2. 박형욱
3, 후비서
4, 문어발2010
:
: