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

void askAdditionQuestion() {
    int num1, num2, answer, correctAnswer;
    
    // สุ่มตัวเลขสำหรับการบวก
    num1 = rand() % 100 + 1; // สุ่มตัวเลขระหว่าง 1 ถึง 100
    num2 = rand() % 100 + 1;

    correctAnswer = num1 + num2;

    printf("คำถาม: %d + %d = ?\n", num1, num2);
    printf("กรุณาตอบคำถาม: ");
    scanf("%d", &answer);

    if (answer == correctAnswer) {
        printf("ตอบถูกต้อง!\n\n");
    } else {
        printf("ตอบผิด! คำตอบที่ถูกต้องคือ %d\n\n", correctAnswer);
    }
}

void askSubtractionQuestion() {
    int num1, num2, answer, correctAnswer;

    // สุ่มตัวเลขสำหรับการลบ
    num1 = rand() % 100 + 1; // สุ่มตัวเลขระหว่าง 1 ถึง 100
    num2 = rand() % 100 + 1;

    correctAnswer = num1 - num2;

    printf("คำถาม: %d - %d = ?\n", num1, num2);
    printf("กรุณาตอบคำถาม: ");
    scanf("%d", &answer);

    if (answer == correctAnswer) {
        printf("ตอบถูกต้อง!\n\n");
    } else {
        printf("ตอบผิด! คำตอบที่ถูกต้องคือ %d\n\n", correctAnswer);
    }
}

void askMultiplicationQuestion() {
    int num1, num2, answer, correctAnswer;

    // สุ่มตัวเลขสำหรับการคูณ
    num1 = rand() % 12 + 1; // สุ่มตัวเลขระหว่าง 1 ถึง 12
    num2 = rand() % 12 + 1;

    correctAnswer = num1 * num2;

    printf("คำถาม: %d * %d = ?\n", num1, num2);
    printf("กรุณาตอบคำถาม: ");
    scanf("%d", &answer);

    if (answer == correctAnswer) {
        printf("ตอบถูกต้อง!\n\n");
    } else {
        printf("ตอบผิด! คำตอบที่ถูกต้องคือ %d\n\n", correctAnswer);
    }
}

int main() {
    int choice;
    srand(time(0)); // กำหนดค่า seed สำหรับการสุ่มตัวเลข

    printf("ยินดีต้อนรับสู่โปรแกรมคิดเลขเร็ว!\n");
    printf("เลือกประเภทคำถามที่ต้องการฝึกฝน:\n");
    printf("1. การบวก\n");
    printf("2. การลบ\n");
    printf("3. การคูณ\n");
    printf("กรุณากรอกตัวเลือก (1-3): ");
    scanf("%d", &choice);

    switch(choice) {
        case 1:
            askAdditionQuestion();
            break;
        case 2:
            askSubtractionQuestion();
            break;
        case 3:
            askMultiplicationQuestion();
            break;
        default:
            printf("เลือกตัวเลือกไม่ถูกต้อง! กรุณาลองใหม่.\n");
            break;
    }

    return 0;
}
