5.5.3 전체 코드 확인하기

    완성된 코드는 다음과 같습니다. 숫자 2개를 곱하는 문제를 보여 주고 사용자로부터 답을 입력받아서 맞았는지 틀렸는지 확인한 후 문제를 다 풀고 나면 총 몇 개 맞혔는지 결과를 표시합니다. 한번 실행해 볼까요? 중간에 일부러 2문제를 틀려 보겠습니다. 그러면 마지막에 ‘비밀번호 3개를 맞혔습니다.’라는 문장이 출력될 겁니다.

    5.5 프로젝트.c

    #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) {
        srand(time(NULL));
        int count = 0; 
        for (int i = 1; i <= 5; i++) {
            int num1 = getRandomNumber(i);
            int num2 = getRandomNumber(i);
            showQuestion(i, num1, num2);
            int answer = -1;
            scanf_s("%d", &answer);
            if (answer == -1) {
                printf("\n프로그램을 종료합니다.\n");
                exit(0);
            } else if (answer == num1 * num2) {
                success();
                count++;
            } else {
                fail();
            }
        }
        printf("\n\n비밀번호 %d개를 맞혔습니다.\n", count);
        return 0;
    }
    
    int getRandomNumber(int level) {
        return rand() % (level * 9) + 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");
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.