반응형
선수과목
- 계산기
- 함수의 형태
- 반환값이 없는 함수
- 반환값이 있는 함수
- 전달값이 없는 함수
- 전달값이 있는 함수
- 반환값과 전달값이 있는 함수
- 함수를 이용한 계산기
#include <stdio.h>
#include <time.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 count = 0; //맞힌 문제 개수
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); //뒤에 어떤문장이 오든 종료 break와 차이
}
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;
//0이 나오면 쉬워지므로 +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");
}
반응형
'Programming > C' 카테고리의 다른 글
[C언어] 프로젝트 6. 물고기 키우기 (0) | 2020.12.28 |
---|---|
[C언어] 프로젝트 5. 아빠는 대머리 게임 (0) | 2020.12.24 |
[C언어] 프로젝트 3. 숫자 맞히기 (0) | 2020.12.24 |
[C언어] 프로젝트 2. 피라미드를 쌓아라 (0) | 2020.12.17 |
[C언어] 프로젝트 1. 경찰서 조서 작성하기 (2) | 2020.12.16 |