-------------------------------------------
로또생성기
i) 1 ~ 45
Random
중복 X
6개 추출
ii) 평균( 20 ~ 25 ) 아닐경우 다시 반복하여 출력
Method 써서 코딩
=> 출력 ( 사용자가 원하는 만큼 반복 )
-------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Report01_Array_lotto
{
class Program
{
static void Main(string[] args)
{
Random r = new Random(); //난수발생기 선언
int sum = 0; // 합계 초기값 0 으로 셋팅
int[] ar = new int[6]; // 로또 번호를 저장한 6개의 배열 생성
bool arrays = false; //do ~ while 판별을 위한 bool 초기값 false 로 셋팅
while (true)
{
do
{
arrays = true;
sum = 0;
// 로또 뽑기 메소드(배열 입력)
sum = ArrayIn(r, sum, ar);
// 중복 검사 메소드
arrays = OverlapCheck(ar, arrays);
if (sum / 6 < 20 || sum / 6 > 25)
arrays = false;
} while (arrays == false);
Print_lotto(sum, ar);// 출력메소드
Console.WriteLine("-----------------------------");
Console.Write("중단하려면 y를 입력하세요 : ");
string yn = Console.ReadLine();
if (yn.Equals("y"))
break;
}
}
private static int ArrayIn(Random r, int sum, int[] ar)
{
for (int i = 0; i < 6; i++)
{
ar[i] = r.Next(1, 50); // 1 ~ 49 사이의 난수
sum = ar[i] + sum;
}
return sum;
}
private static bool OverlapCheck(int[] ar, bool arrays)
{
for (int i = 0; i < 5; i++)
{
for (int j = i + 1; j < 6; j++)
{
if (ar[i] == ar[j])
arrays = false;
}
}
return arrays;
}
private static void Print_lotto(int sum, int[] ar)
{
for (int j = 0; j < 6; j++)
{
Console.WriteLine("로또번호 [{0}] 번째 값은 = {1}", j+1, ar[j]);
}
Console.WriteLine("평균은 : {0}", sum / 6);
}
}
}
'프로그램 > C# - Study' 카테고리의 다른 글
6D - 배열 , 다차원 배열, Langth(), Sort(), Reverse(), IndexOf() 기능 (0) | 2010.09.13 |
---|---|
Report01 - 로또생성기 확인버젼 (0) | 2010.09.10 |
5D - 배열 (0) | 2010.09.10 |
5D - 메소드, 오버로딩 (0) | 2010.09.10 |
5D - 메소드 전달인자 ( ref, out ) (0) | 2010.09.10 |