난수발생시켜 맞추는프로그램 ㅠㅠ
천사
질문 제목 : 난수발생시켜 맞추는프로그램 질문이요!모듈링을 해서 난수발생시켜 맞추는프로그램을 짜는데 오류가뜹니다질문 내용 :
프로그램에서 1~100사이에 하나의 난수를 발생하여 얻어낸 값을 사용자가 맞추는 프로그램을 만들어라. 조건 - 함수setnumber()에서는 1~100사이에 하나의 난수를 발생하여 전역변수 number에 저장 - 시스템에서 정한 number를 사용자가 맞출때까지 계속 진행 - 사용자가 정답을 맞추지 못하는 경우는 힌트를 자세히 줌(입력한 숫자가 난수보다 작은지 적은지를 알려줌) - 힌트를 주기 위하여 변수 min, max를 이용하며, 이 변수는 정적 외부 변수로 선언 - 함수는 main()과 함수setnumber(), printhead(), printhigher(), printlower(), printanswer()로 구성 - numberguess.h, numberguess.c, randomnumber.c로 모듈화 이게 과제인데요~ numberguess.h 헤더파일에 #include stdio.h #include stdlib.h #include time.h void setnumber(); void printhead(); void printhigher(int guess); void printlower(int guess); void printanswer(); 을 코딩하고 randomnumber.c소스파일에 #include numberguess.h int number;void setnumber() { int number; rand((unsigned)time(null)); number =(rand() % 99) +1; } void printhead() { printf(1~100까지의 숫자를 입력하세요.\n); } void printhigher(int guess) { printf(좀 더 작은 숫자를 넣으세요.\n); } void printlower(int guess) { printf(좀 더 큰 숫자를 넣으세요.\n); } void printanswer() { printf(정답입니다!!\n); } 을 코딩하고, numberguess.c 소스파일에 #include numberguess.h int main(void) { int number; int n = -1; int min,max=0; setnumber(); printhead(); while(n!=number) { scanf(%d,&n); if(nnumber+1) { printhigher(max); } else if(nnumber-1) { printlower(min); } } printanswer(); return 0; } 을 코딩했는데 while문안에서 number변수가 선언되지않았다고오류가나는데
어떻게해결해야될까요ㅠㅠ
그리고 min,max변수를 사용해 힌트를주는것도 어떻게하는지모르겠어요 한시간남앗는데 꼭알려주세요ㅠㅠ