소연의_개발일지
article thumbnail

 

로또뽑기 만들기

륙사오 로또뽑기 프로그램을 만들었다.

로또는 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;
    }
 

누덕누덕해진 나의 코드....

 

profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!