로또뽑기 만들기
륙사오 로또뽑기 프로그램을 만들었다.
로또는 45개의 숫자 중에서 6개를 랜덤으로 뽑는 시스템이다.
숫자 6개를 정수로 정의한 후, while문으로 중복처리를 했다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
printf("○ ○ ○ ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ○ ○ ○ \n");
printf(" 6/45 로또뽑기에 오신 여러분 환영합니다. \n");
printf(" 게임의 규칙을 간단히 설명해 드리겠습니다. \n");
printf(" 45개의 숫자 중 6개의 숫자를 맞추면 됩니다.\n");
printf(" 1등은 신분증 챙겨서 농협본점으로 가세요.^^\n");
printf("○ ○ ○ ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ○ ○ ○ \n");
printf("\n");
srand(time(NULL));
int num1, num2, num3, num4, num5, num6;
num1 = rand()%45+1; //애들을 주석처리하면 while값이 이상하게 나오네...? 왜지
num2 = rand()%45+1;
num3 = rand()%45+1;
num4 = rand()%45+1;
num5 = rand()%45+1;
num6 = rand()%45+1;
while(num1 == num2){
num2 = rand()%45 +1;}
while(num1 == num3 || num2 == num3){
num3 = rand()%45 +1;}
while(num1 == num4 || num2 == num4 || num3 == num4){
num4 = rand()%45 +1;}
while(num1 == num5 || num2 == num5 || num3 == num5 || num4 == num5){
num5 = rand()%45 +1;}
while(num1 == num6 || num2 == num6 || num3 == num6 || num4 == num6 || num5 == num6){
num6 = rand()%45 +1;}
printf("이번 주 로또의 숫자는 %d, %d, %d, %d, %d, %d 입니다.\n", num1, num2, num3, num4, num5, num6);
return 0;
}
내가 궁금한 건,, 왜 랜덤값을 위에 일일히 6개 다 설정해 놓아야 while문이 돌아가는 건지...? 하는 것이었다.
그래서 초기값을 설정하지 않은 것 때문인가 하고 다 초기값을 0으로 설정해 줬다.
요렇게 하니까 또 문제가 생겼다.
두번째 숫자가 계속 0으로 출력된다. 왜그래요
그래서 그냥 다 랜덤값으로 지정해줬다. 어찌저찌 해결은 되었으니...
이건 좀 더 고민해봐야겠다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//맞추는거 추가한 버전(목표)
int main()
{
printf("○ ○ ○ ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ○ ○ ○ \n");
printf(" 6/45 로또뽑기에 오신 여러분 환영합니다. \n");
printf(" 게임의 규칙을 간단히 설명해 드리겠습니다. \n");
printf(" 45개의 숫자 중 6개의 숫자를 맞추면 됩니다.\n");
printf(" 1등은 신분증 챙겨서 농협본점으로 가세요.^^\n");
printf("○ ○ ○ ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ● ○ ○ ○ ○ \n");
printf("\n");
srand(time(NULL));
int ran_number = rand()%45 +1;
int num1=ran_number, num2=ran_number, num3=ran_number, num4=ran_number, num5=ran_number, num6=ran_number;
while(num1 == num2){
num2 = rand()%45 +1;}
while(num1 == num3 || num2 == num3){
num3 = rand()%45 +1;}
while(num1 == num4 || num2 == num4 || num3 == num4){
num4 = rand()%45 +1;}
while(num1 == num5 || num2 == num5 || num3 == num5 || num4 == num5){
num5 = rand()%45 +1;}
while(num1 == num6 || num2 == num6 || num3 == num6 || num4 == num6 || num5 == num6){
num6 = rand()%45 +1;}
printf("이번 주 로또의 숫자는 %d, %d, %d, %d, %d, %d 입니다.\n", num1, num2, num3, num4, num5, num6);
return 0;
}
누덕누덕해진 나의 코드....
'개발공부 > C언어' 카테고리의 다른 글
C언어_윤년 계산기 만들기 (0) | 2023.03.30 |
---|---|
C언어_붕어빵 심리테스트 만들기 (0) | 2023.03.30 |
C언어_함수를 사용하여 스무고개 숫자게임 만들기 (0) | 2023.03.29 |
C언어_난수함수로 가위바위보 게임 만들기 (0) | 2023.03.27 |
C언어_다양한 모양 별찍기 (1) | 2023.03.26 |