본문 바로가기

정리 카테고리/개인복습&정리

로또_번호받고 100개 생성과 비교해주는 프로그램

샘플



로또 번호 받고 100번 생성 비교 프로그램.exe




결과 화면




소스 코드


//번호가 좀 맞았으면.....


 
     class Program
    {
        static void Main(string[] args)
        {
            int mat1 = 0;// 1개 매치 경우 확인 변수
            int mat2 = 0;// 2개 매치 경우 확인 변수
            int mat3 = 0;// 3개 매치 경우 확인 변수
            int mat4 = 0;// 4개 매치 경우 확인 변수
            int mat5 = 0;// 5개 매치 경우 확인 변수
            int mat6 = 0;// 6개 매치 경우 확인 변수
            int matNum = 0;//매치 개수 확인 변수
            int num1 = 0;//생성번호 저장 변수
            int num2 = 0;//생성번호 저장 변수
            int num3 = 0;//생성번호 저장 변수
            int num4 = 0;//생성번호 저장 변수
            int num5 = 0;//생성번호 저장 변수
            int num6 = 0;//생성번호 저장 변수
            int inputNumCheck = 0;//사용자 입력수 확인을 위한 변수
            int inputNum1 = 0;//사용자 저장 변수
            int inputNum2 = 0;//사용자 저장 변수
            int inputNum3 = 0;//사용자 저장 변수
            int inputNum4 = 0;//사용자 저장 변수
            int inputNum5 = 0;//사용자 저장 변수
            int inputNum6 = 0;//사용자 저장 변수
            int oh = 1;//100번 출력 확인 변수
            int random = 0;//랜덤생성 번호 저장 변수
            int samcheck = 0;//중복 확인 변수
            int checkNum =1;//입력된 번호 개수 확인 변수
            Random r = new Random();//랜덤 생성을 위한 함수
            bool check = true;//반복문 반복여부 확인 변수

            inputNum:
            Console.WriteLine("로또 생성이전에 맞추어볼   " + checkNum + "번째 로또번호를 정해주세요.");

            if (int.TryParse(Console.ReadLine(), out inputNumCheck))
            {
                if(inputNumCheck < 46)
                {
                    if (inputNumCheck != inputNum1 && inputNumCheck != inputNum2 && inputNumCheck != inputNum3 && inputNumCheck != inputNum4 && inputNumCheck != inputNum5 && inputNumCheck != inputNum6) ;
                    else goto inputNum;
                }
                else
                {
                    goto inputNum;
                }

                if (inputNum1 == 0)
                {
                    inputNum1 = inputNumCheck;
                    checkNum++;
                    Console.Clear();
                    goto inputNum;
                }
                else if (inputNum2 == 0)
                {
                    inputNum2 = inputNumCheck;
                    checkNum++;
                    Console.Clear();
                    goto inputNum;
                }
                else if (inputNum3 == 0)
                {
                    inputNum3 = inputNumCheck;
                    checkNum++;
                    Console.Clear();
                    goto inputNum;
                }
                else if (inputNum4 == 0)
                {
                    inputNum4 = inputNumCheck;
                    checkNum++;
                    Console.Clear();
                    goto inputNum;
                }
                else if (inputNum5 == 0)
                {
                    inputNum5 = inputNumCheck;
                    checkNum++;
                    Console.Clear();
                    goto inputNum;
                }
                else if (inputNum6 == 0) inputNum6 = inputNumCheck;
            }
            else
            {
                Console.Clear();
                goto inputNum;
            }

            Console.Clear();
            Console.WriteLine("아무키나 입력하시면 시작합니다.");
            Console.ReadKey();
            while (check)
            {
                Thread.Sleep(35);//랜덤 생성을 위해 딜레이
                random = r.Next(0, 47);//랜덤 생성 범위
                if (random == num1) samcheck++;//중복 비교
                if (random == num2) samcheck++;
                if (random == num3) samcheck++;
                if (random == num4) samcheck++;
                if (random == num5) samcheck++;
                if (random == num6) samcheck++;

                if (samcheck == 0)//중복이 아닐시 진행
                {
                    if (num1 == 0)//부여된 값 여부 확인
                    {
                        num1 = random;
                        if (num1 == inputNum1) matNum++;
                        if (num1 == inputNum2) matNum++;
                        if (num1 == inputNum3) matNum++;
                        if (num1 == inputNum4) matNum++;
                        if (num1 == inputNum5) matNum++;
                        if (num1 == inputNum6) matNum++;
                    }
                    else
                    {
                        if (num2 == 0)
                        {
                            num2 = random;
                            if (num2 == inputNum1) matNum++;
                            if (num2 == inputNum2) matNum++;
                            if (num2 == inputNum3) matNum++;
                            if (num2 == inputNum4) matNum++;
                            if (num2 == inputNum5) matNum++;
                            if (num2 == inputNum6) matNum++;
                        }
                        else
                        {
                            if (num3 == 0)
                            {
                                num3 = random;
                                if (num3 == inputNum1) matNum++;
                                if (num3 == inputNum2) matNum++;
                                if (num3 == inputNum3) matNum++;
                                if (num3 == inputNum4) matNum++;
                                if (num3 == inputNum5) matNum++;
                                if (num3 == inputNum6) matNum++;
                            }
                            else
                            {
                                if (num4 == 0)
                                {
                                    num4 = random;
                                    if (num4 == inputNum1) matNum++;
                                    if (num4 == inputNum2) matNum++;
                                    if (num4 == inputNum3) matNum++;
                                    if (num4 == inputNum4) matNum++;
                                    if (num4 == inputNum5) matNum++;
                                    if (num4 == inputNum6) matNum++;
                                }
                                else
                                {
                                    if (num5 == 0)
                                    {
                                        num5 = random;
                                        if (num5 == inputNum1) matNum++;
                                        if (num5 == inputNum2) matNum++;
                                        if (num5 == inputNum3) matNum++;
                                        if (num5 == inputNum4) matNum++;
                                        if (num5 == inputNum5) matNum++;
                                        if (num5 == inputNum6) matNum++;
                                    }
                                    else
                                    {
                                        if (num6 == 0)
                                        {
                                            num6 = random;
                                            if (num6 == inputNum1) matNum++;
                                            if (num6 == inputNum2) matNum++;
                                            if (num6 == inputNum3) matNum++;
                                            if (num6 == inputNum4) matNum++;
                                            if (num6 == inputNum5) matNum++;
                                            if (num6 == inputNum6) matNum++;
                                            //부여된 6개의 변수 출력
                                            Console.WriteLine(num1 + "," + num2 + "," + num3 + "," + num4 + "," + num5 + "," + num6 + " 입니다." + oh+" :"+matNum+"개 매치");
                                            Console.WriteLine(inputNum1 + "," + inputNum2 + "," + inputNum3 + "," + inputNum4 + "," + inputNum5 + "," + inputNum6+"<-내 번호");
                                            if (matNum == 1)mat1++ ;
                                            if (matNum == 2) mat2++;
                                            if (matNum == 3) mat3++;
                                            if (matNum == 4) mat4++;
                                            if (matNum == 5) mat5++;
                                            if (matNum == 6) mat6++;
                                            matNum = 0;
                                            num1 = 0;
                                            num2 = 0;
                                            num3 = 0;
                                            num4 = 0;
                                            num5 = 0;
                                            num6 = 0;
                                            oh++;//출력횟수 체크
                                            if (oh == 101)
                                            {
                                                check = false;
                                            }
                                            else;

                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                
                samcheck = 0;
            }
            Console.WriteLine("6개 매치::" + mat6 + " \n5개 매치::" + mat5 + " \n4개 매치::" + mat4 + " \n3개 매치::" + mat3 + " \n2개 매치::" + mat2 + " \n1개 매치::" + mat1);
            Console.WriteLine(inputNum1 + ",   " + inputNum2 + ",   " + inputNum3 + ",   " + inputNum4 + ",   " + inputNum5 + ",   " + inputNum6);
            Console.ReadKey();
        }
    }