내가 직접 만든 로또 추출 프로그램이다.
친구가 구현이 안된다 그래서 직접 만들었다.
좀 지났지만 올려둔다.
만자로에서 컴파일 했었던것 같다.
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | /* * 프로그램 제목 : 로또 추출기 * 만든이 : Cybertramp * 만든날짜 : 171121 * 플랫폼 : Linux * 컴파일러 : gcc5.4 */ #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { FILE *fp; unsigned short cho_num[7]={0}; // 6개 당첨번호 + 보너스번호 unsigned short rand_num=0; // 랜덤 변수 unsigned short input_num=0; // 추첨 횟수 char file_name[160] = {' '}; // 파일명 char input_res= 0; printf("===== LOTTO =====\n"); printf("추첨 횟수를 입력 해주세요.\n"); scanf("%d",&input_num); printf("저장할 파일명을 입력해주세요.\n"); scanf("%s",&file_name); fp=fopen(file_name,"wt"); if(fp == NULL) { printf("파일을 불러 올수없습니다. 프로그램을 종료합니다.\n"); return 1; } printf("\n추첨을 시작합니다.\n"); fprintf(fp,"=== %d 번의 추첨 값 ===\n",input_num); srand(time(NULL)); for(short i=0;i<input_num;i++){ for(short i2=0;i2<7;i2++){ cho_num[i2] = rand()%((45-1)+1)+1; //rand()%((last-start)+1)+start if(i2!=0){ // 만약 첫번째 추첨이 아니면 while(1) if(cho_num[i2-1] == cho_num[i2]){ // 만약 전 추첨번호와 같다면 cho_num[i2] = rand()%45; // 다시 랜덤추출 } else // 같지 않다면 break; // 탈출 } } printf("\n[횟수 : %d횟수] ==============\n",i+1); printf("[ %d ] [ %d ] [ %d ] [ %d ] [ %d ] [ %d ] 보너스번호 : [ %d ]\n",cho_num[0],cho_num[1],cho_num[2],cho_num[3],cho_num[4],cho_num[5],cho_num[6]); fprintf(fp,"%d회 | [ %d ] [ %d ] [ %d ] [ %d ] [ %d ] [ %d ] 보너스번호 : [ %d ]\n",i+1,cho_num[0],cho_num[1],cho_num[2],cho_num[3],cho_num[4],cho_num[5],cho_num[6]); } fprintf(fp,"\n=== 기록 완료 ===\n"); fclose(fp); printf("출력과 저장이 완료 되었습니다.\n"); printf("재실행 하시겠습니까? Y or N\n"); scanf(" %c",&input_res); if(input_res == 'y' || input_res == 'Y') main(); return 0; } | cs |