-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
강의듣고 function project하는데 자꾸 에러가 발생해요
21.03.29 00:09 작성 조회수 316
0
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int getRandomNumber(int level);
void showQuestion(int level, int num1, int num2);
void success();
void fail();
int main(void)
{
// 문이 5개가 있고, 각 문마다 점점 어려운 수식 퀴즈가 출제 (랜덤)
// 맞히면 통과, 틀리면 실패
srand(time(NULL));
int conut = 5;
for (int i = 1; i < 5; i++)
{
// x * y = ?
int num1 = getRandomNumber(i);
int num2 = getRandomNumber(i);
//printf("%d x %d ?", num1, num2);
showQuestion(i, num1, num2);
int answer = -1;
scanf_s("%d", &answer);
if (answer == -1)
{
printf("프로그램을 종료합니다\n");
exit(0);
}
else if (answer == num1 * num2)
{
//성공
success();
count++;
}
else
{
//실패
fail();
}
}
printf("\n\n 당신은 5개의 비밀번호 중 %d개를 맞췄습니다 \n", count);
return 0;
}
int getRandomNumber(int level)
{
return rand() % (level * 7) + 1;
}
void showQuestion(int level, int num1, int num2)
{
printf("\n\n\n####### %d 번째 비밀번호 ########\n", level);
printf("\n\t%d x %d 는? \n\n", num1, num2);
printf("####################################\n");
printf("\n비밀번호를 입력하세요 (종료 : -1) >>");
}
void success()
{
printf("\n >> GOOD ! 정답입니다 \n");
}
void fail()
{
printf("\n >> 땡! 틀렸습니다 \n");
}
1>D:\visualstudio\NadoCoding\NadoCoding\funcion_project.c(16,18): warning C4244: '함수': 'time_t'에서 'unsigned int'(으)로 변환하면서 데이터가 손실될 수 있습니다.
1>D:\visualstudio\NadoCoding\NadoCoding\funcion_project.c(37,9): error C2065: 'count': 선언되지 않은 식별자입니다.
1>D:\visualstudio\NadoCoding\NadoCoding\funcion_project.c(48,85): error C2065: 'count': 선언되지 않은 식별자입니다.
어디가 틀린걸까요? ㅠㅠ 알려주세요ㅠ
답변을 작성해보세요.
1
김경민
2021.03.29
안녕하세요! 에러메세지에 너무 겁먹지 마시고
차근차근 읽어보세요 : )
첫번째 메세지는 warning이라 꼭 필요한 경우가 아니면 무시하셔도 되고,
두, 세번째 메세지가 error로 프로그램 실행이 안되는 원인인것 같습니다.
count가 선언되지 않았다네요.
if / else 문 안에서 count 변수를 사용하고 있는데,
이런 경우는 보통 for문이나 특정 조건을 만족해야 실행되는
if 문 안에서 변수를 선언하고, 선언된 곳 밖에서 변수에 접근하는 경우거나,
단순한 오타일 경우가 많습니다.
저는 먼저 에러메세지를 보고, Ctrl + F를 해서 count 변수를 찾아봤는데,
처음 선언부에서 count가 conut으로 오타가 발생한걸 확인했습니다!
단순 오타 고치면 끝! 이 아니라 에러메세지를 천천히 읽어보시고,
읽어본 메세지를 바탕으로 천천히 코드를 검토하시거나
구글에 에러메세지를 검색해보시는 습관이 중요하다고 느껴 답변 드립니다 : )
( error C2065 와 같이 에러 코드를 그대로 검색해보시거나,
"선언되지 않은 식별자" 처럼 에러 문구를 검색해보시면 관련 자료를 찾으실 수 있습니다.)
답변 1