336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

목표 : 지금까지 공부한 것과 rand, srand 함수를 이용해서 로또 번호 추첨기를 만들어보자


소스 코드 : 

#include<stdio.h>

#include<windows.h>


#define NUM_MIN 1

#define NUM_MAX 45


#define VERSION 1


char Check(char* pList);


int main(void)

{

unsigned char Number[6] = { 0, };

unsigned char Cmd = 0;

unsigned char Reandom = 0;

unsigned char count = 0;

unsigned char GameMaxCount = 0;

unsigned char Games = 0;

char check = 0;


BOOL bIsRun = TRUE;

BOOL bGameRun = TRUE;


while (bIsRun)

{

srand(GetTickCount());


printf("게임명령어( 숫자 1 ~ 5 , c 종료 ) : ");

Cmd = getchar();

fflush(stdin);//enter키 정보 소멸(엔터도 아스키 코드 값이 있다.)



if (Cmd >= '1' && Cmd <= '5')

{

switch (Cmd)

{

case '1':

GameMaxCount = 1;

break;

case '2':

GameMaxCount = 2;

break;

case '3':

GameMaxCount = 3;

break;

case '4':

GameMaxCount = 4;

break;

case '5':

GameMaxCount = 5;

break;

}


//번호 추첨

while (GameMaxCount > Games)

{


for (count = 0; count < 6; count++)

{

Reandom = rand() % NUM_MAX + NUM_MIN;

Number[count] = Reandom;

}


//중복 검사


check = Check(Number);

if (check >= 0 && check <= 5)

{

continue;

}


//번호 출력 

for (count = 0; count <6; count++)

{

printf("%2d ", Number[count]);

}

printf("\n");

Games++;

}


Games = 0;


}

else if (Cmd == 'c' || Cmd == 'C')

{

break;

}

else

{

printf("잘못된 명령어!!!\n");

}

}


return 0;

}


char Check(char* pList)

{

char count = 0;

char befor = 0;

BOOL bRun = TRUE;


for (count = 0; count < 6; count++)

{

for (befor = 0; befor < 6; befor++)

{

if (count == befor)

{

continue;// 같은것 끼리는 패스

}


if (pList[count] == pList[befor])

{

bRun = FALSE;

break;

}


}


if (bRun == FALSE)

{

break;

}

}


return count;

}


결과

 


#로또프로그램, #로또

Lotto_01.zip


'Programing - C > C Basic grammar ' 카테고리의 다른 글

043 구조체(struct) 이해하자  (0) 2017.07.27
042 NULL 포인터 이해하기  (0) 2017.07.27
041 포인터 이해  (0) 2017.07.27
040 메모리 이해하기  (0) 2017.07.27
039 배열 이해하기  (0) 2017.07.27

+ Recent posts