PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2007/11/05 06:28:24
Name Lonelyjuni
Subject [질문]C언어 while 문 질문 드립니다.
/*
while()을 사용하여 무한루프를 만들고, 무한루프 안에서 1부터 200까지
랜덤넘버를 발생시킨다. 그 후 랜덤넘버와 아스키코드를 사용하여 문자열
"GOOD"을 출력하고 무한루프를 탈출하는 프로그램을 만드시오. 랜덤함수의
값은 실행할 때 마다 바뀌어야 한다.
(참고 'A'의 아스키코드는 65)
*/

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main(void)
{
   int i;
   double temp;
   int number;

   srand( (unsigned)time( NULL ) );


   while(1)
   {
            temp=rand();
                temp/=RAND_MAX;
            number=temp*200;
                
                if (number == 71)
                {
                        printf("%c", number);
                        break;
                }
   }

   while(1)
   {
            temp=rand();
                temp/=RAND_MAX;
            number=temp*200;
                
                if (number == 79)
                {
                        printf("%c", number);
                        break;
                }
   }

   while(1)
   {
            temp=rand();
                temp/=RAND_MAX;
            number=temp*200;
                
                if (number == 79)
                {
                        printf("%c", number);
                        break;
                }
   }

   while(1)
   {
            temp=rand();
                temp/=RAND_MAX;
            number=temp*200;
                
                if (number == 68)
                {
                        printf("%c", number);
                        break;
                }
   }

제가 한건 각각의 while 문에 대해서 작성했는데 문제에서는 이 4 개의 while 문을 하나로 합치라고 하는 것 같은데
어떻게 하는 것이 좋은 방법일까요?
else if 를 사용하려고 해도 자꾸 꼬이기만 하고;;
좋은 의견 부탁드립니다!

}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Lonelyjuni
07/11/05 07:04
수정 아이콘
혼자 열심히 한 끝에 성공했네요. #include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main(void)

int i, j=0;
double temp;
int number;

srand( (unsigned)time( NULL ) );


while(1)
{
temp=rand();
temp/=RAND_MAX;
number=temp*200;

if (j == 0)
{
if (number == 71)
{
printf("%c", number);
j++;

}

if (j == 1)

if (number == 79)
{
printf("%c", number);
j++;

}

if (j == 2)

if (number == 79)
{
printf("%c", number);
j++;

}

if (j == 3)

if (number == 68)
{
printf("%c\n", number);
break;

}
}
}

더 좋은 방법이 있다면 알려주시면 감사하겠습니다^^
삐꾸돼지
07/11/05 12:43
수정 아이콘
char pick_Good(int asc)

double temp;
int number;

while(1) {
temp=rand();
temp/=RAND_MAX;
number=temp*200;

if (number == asc)
{
break;


}
return number; //여기서 number를 리턴할때 char형으로 바꿔서 넘겨주세요.
}


void main()

char str[5];
str[0] = pick_Good(71);
str[1] = pick_Good(79);
str[2] = pick_Good(79);
str[3] = pick_Good(68);
str[4] = '\0'; // 맞는지 안맞는지;; 배열 뒤에 저거 붙여줘야 하나요?

printf("랜덤 함수 = %s", str);
삐꾸돼지
07/11/05 12:45
수정 아이콘
제가 요즘 자바만 해서 C문법을 잘 모르겠습니다.
number리턴할때 정수를 char형으로 캐스팅해서 리턴해주시고
str[4]에서 배열 끝에 널값 넣어주세요.
돌아갈지는 잘모르겠지만 함수를 사용하면 좀 더 깔끔해진답니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
31154 워크래프트3 MGC [1] JPstyle1486 07/11/05 1486
31153 신발, 운동화 중고매매... [2] 시미군★2173 07/11/05 2173
31152 스타크래프트 패치 날짜 [4] 공미본좌1854 07/11/05 1854
31150 중국여행이요 [3] 알콜스타1904 07/11/05 1904
31149 주식거래 하시는 분들에게 물어봅니다. [7] 사랑니2930 07/11/05 2930
31148 [질문] 제가 이번에 아는분 축가를 부르게 됐는데요~ [1] 완소브아걸1666 07/11/05 1666
31147 빨리 돌아 왔으면 좋겠다.... 료상위해1607 07/11/05 1607
31146 [재테크]적금관련 [5] Timeless1681 07/11/05 1681
31145 게임을 켜놓고 최소화 해놓은뒤 동영상재생하면 재생이안되요 ㄴkoreaㄱ1507 07/11/05 1507
31143 [질문] 그래픽카드를 교체하면 갑자기 off mod 뜨면서 모니터가 안켜지는데.. [2] 신이 건들고 간1834 07/11/05 1834
31142 [질문]C언어 while 문 질문 드립니다. [3] Lonelyjuni1674 07/11/05 1674
31141 [질문]와우초보흑마, 키우고있는데 여러가지 궁금한점 알려주세요..!! [8] 키라5432 07/11/05 5432
31140 [질문] 일본 여행 잘 설명되어 있는 책좀 추천해 주십시오 [3] 지하생활자1661 07/11/05 1661
31139 [질문]개인간의 중고거래에서 예약금에 관해서 질문입니다. [1] Nanum1563 07/11/05 1563
31138 [질게] 물 분자의 자유도가 몇 개 입니까? [1] e시리우스4085 07/11/05 4085
31137 [질문] 미래에 대한 불안감.. [2] culture1713 07/11/04 1713
31136 [질문] 영어 잘하시는 분 부탁합니다. MorningTea1568 07/11/04 1568
31135 [질문]언어영역 점수 변동의 폭이 너무 큽니다. [17] EzMura1908 07/11/04 1908
31134 [질문] 언어영역 시 관련 질문 [7] 티티1666 07/11/04 1666
31133 [질문] 배틀넷방에관하여.. [8] Erehwon3209 07/11/04 3209
31132 [질문]테란vs토스 전에서 FD할때 어떻게들하시나요? [5] 김민식1976 07/11/04 1976
31131 [질문] 드라군 무빙샷 컨트롤에 대해서.. [13] dle5003 07/11/04 5003
31130 [질문] 역사적 인물 질문~ [7] 루나문1914 07/11/04 1914
목록 이전 다음
댓글

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