PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2011/11/11 12:26:49
Name 필요없어
Subject C언어 질문 한번 더 합니다!!
어제 시즈플레어님의 도움으로 영감을 얻어 소스를 수정하였습니다.

다시 한 번 감사드립니다.

1~15 사이의 범위의 수를 5개 받아 읨의로 컴퓨터가 고른 숫자 5개와 비교하는

로또 프로그램인데요.

동일한 수를 입력거나 아니면 1~15 범위를 넘는 수를 입력했을 때 다시 입력 받는 방법이 없을까요?

능력자분들의 고견 부탁드립니다.

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
int main()
{
        int randome[5],input[5],i,j,count;
        char inputstr[32];
        while(1)
                {
        
                printf("--------------가상 로또 결과 맞추기 프로그램--------------------\n");
                srand((unsigned int)time(NULL));
                for(i=0;i<5;i++)
                {
                        randome[i]=((rand()%15)+1);
                        for(j=0;j<i;j++)
                        {
                                if(randome[j]==randome[i])
                                {
                                        i--;
                                        break;
                                }
                        }
                }
                for(i=0;i<5;i++)
                printf("랜덤 숫자 : %d\n",randome[i]);
        
                printf("1부터15사이숫자 로또번호 5개를 입력해주세요-!~");
                printf("(종료하시려면 'q'를 입력해주세요)\n");
                count=0;
                for(i=0;i<5;i++)
                {
                        scanf("%s",inputstr);
                        if(!strcmp(inputstr,"q")) exit(0);
                        sscanf(inputstr,"%d", &input[i]);
                        
                }
                for(i=0;i<5;i++)
                {
                        for(j=0;j<5;j++)
                        {
                                if(randome[i]==input[j])
                                count++;
                        }
                }
                switch (count)
                {
                        case 3: printf("3등입니다\n"); break;
                        case 4: printf("아쉽군요 2등입니다\n"); break;
                        case 5: printf("축하드려요 1등입니다\n"); break;
                        default : printf("꽝입니다! 다시도전하세요~\n");
                }
        count=0;
        }
        return 0;
}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
멋진벼리~
11/11/11 12:31
수정 아이콘
while 문으로 조건을 비교하여
조건에 맞을시 break로 빠져나오도록 하시면 됩니다.
필요없어
11/11/11 12:38
수정 아이콘
멋진벼리~ 님// 간단하게 알려주실 수 없으신가요?
아.. 일찍 재수강 했어야 하는데 06년도 이후에 첨 해보니 감이 잘 안섭니다. ㅠㅠ
Calvinus
11/11/11 12:43
수정 아이콘
for(i=0;i<5;i++)

while(1){
scanf("%s",inputstr);
if(!strcmp(inputstr,"q")) exit(0);
sscanf(inputstr,"%d", &input[i]);
input[i]가 input[0]~input[i-1] 중에 있는 비교
있으면 -> continue;
없으면 -> break;

}

do-while을 쓰셔서
do


while( input[i]가 겹치지 않을때까지)

위처럼 해도 되구요..
시즈플레어
11/11/11 12:45
수정 아이콘
아니면 비트스트링을 15길이짜리를 생성해서 입력과 동일한 순서의 비트를 1로 만들고
다음 입력을 체크해서 and 연산으로 판정하는 방법은 너무 변태스러운가요
필요없어
11/11/11 13:00
수정 아이콘
아 답변 감사드립니다.
멋진벼리~님, Calvinus님, 시즈플레어님 감사합니다.
노가다성(?)으로 일단 해결했습니다.
최적화는 차차 고민해보지요. 흐흐
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
119091 갤2랑 갤넥(갤럭시넥서스) 중 하나를 사려고 합니다. 조언 좀 해주세요~~ [2] 하트레인2093 11/11/11 2093
119090 안녕하세요 혹시 블로그 하시는분 계신가요? [4] 짝복1590 11/11/11 1590
119089 질문에 사진을 첨부할려면 어떻게 해야하는지ㅠㅠ... [2] 박정우1577 11/11/11 1577
119088 교통사고 합의 관련 문의드립니다. [5] 김태소2276 11/11/11 2276
119087 문학 용어 중 [2] 모노크롬1697 11/11/11 1697
119086 수리 수능 30번 [5] Samuelson3419 11/11/11 3419
119085 2cm정도 꿰매었습니다 [2] 소금염1748 11/11/11 1748
119084 자살하면 무슨기분일까요? [16] 박주영2924 11/11/11 2924
119082 좋은 현대사 책 좀 추천해 주세요. [4] 라디오머리1764 11/11/11 1764
119081 b형간염 보균자가 먹으면 좋은 약(식품)은 어떤게 있을까요? [3] Animako2619 11/11/11 2619
119080 이대호 선수를 다른팀에서 데려가려면 어떤 조건이 필요한가요??? [10] 구라타2344 11/11/11 2344
119079 악성코드 검색 치료 프로그램 쓸만한 것 있나요? [3] 감정과잉2227 11/11/11 2227
119078 아이폰 4s 오프라인vs온라인?! [4] 망디망디2124 11/11/11 2124
119077 크리킷 마스크라는 웹툰 볼수없는건가요? Grateful Days~12075 11/11/11 12075
119076 돈으로 받는 것보다 선물로 받는 것이 더 좋은 이유. [1] 바나나1747 11/11/11 1747
119074 컴터고수님들..모니터가 윈도우 부팅화면 이후에 꺼져버려요.. [6] 목캔디1920 11/11/11 1920
119073 노트북 그래픽카드 질문입니다! [1] Bikini1581 11/11/11 1581
119072 휴대폰은 깜짝선물하기 어렵죠? [5] 아레스2512 11/11/11 2512
119071 영화 커뮤니티 추천부탁드립니다. [1] 빙심7311 11/11/11 7311
119070 C언어 질문 한번 더 합니다!! [5] 필요없어1626 11/11/11 1626
119069 지스타 2011에서 시연할만한 게임 추천 부탁드립니다 [3] 밴더1710 11/11/11 1710
119068 엘더스크롤4 질문드립니다. [4] 형님2256 11/11/11 2256
119067 군대 기술행정병 질문입니다 [19] 효주찡6948 11/11/11 6948
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로