fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4.  
  5. void menu() {
  6. printf("\n===== เครื่องคิดเลขขั้นสูง =====\n");
  7. printf("1. บวก (+)\n");
  8. printf("2. ลบ (-)\n");
  9. printf("3. คูณ (*)\n");
  10. printf("4. หาร (/)\n");
  11. printf("5. ยกกำลัง (pow)\n");
  12. printf("6. รากที่สอง (sqrt)\n");
  13. printf("7. sin\n");
  14. printf("8. cos\n");
  15. printf("9. tan\n");
  16. printf("10. log (ฐาน 10)\n");
  17. printf("0. ออกจากโปรแกรม\n");
  18. printf("============================\n");
  19. }
  20.  
  21. int main() {
  22. int choice;
  23. double num1, num2, result;
  24.  
  25. do {
  26. menu();
  27. printf("เลือกเมนู: ");
  28. scanf("%d", &choice);
  29.  
  30. switch(choice) {
  31. case 1:
  32. printf("ป้อนสองตัวเลข: ");
  33. scanf("%lf %lf", &num1, &num2);
  34. result = num1 + num2;
  35. printf("ผลลัพธ์: %.2lf\n", result);
  36. break;
  37. case 2:
  38. printf("ป้อนสองตัวเลข: ");
  39. scanf("%lf %lf", &num1, &num2);
  40. result = num1 - num2;
  41. printf("ผลลัพธ์: %.2lf\n", result);
  42. break;
  43. case 3:
  44. printf("ป้อนสองตัวเลข: ");
  45. scanf("%lf %lf", &num1, &num2);
  46. result = num1 * num2;
  47. printf("ผลลัพธ์: %.2lf\n", result);
  48. break;
  49. case 4:
  50. printf("ป้อนสองตัวเลข: ");
  51. scanf("%lf %lf", &num1, &num2);
  52. if (num2 != 0)
  53. result = num1 / num2;
  54. else {
  55. printf("ข้อผิดพลาด: หารด้วยศูนย์ไม่ได้!\n");
  56. continue;
  57. }
  58. printf("ผลลัพธ์: %.2lf\n", result);
  59. break;
  60. case 5:
  61. printf("ป้อนฐานและเลขชี้กำลัง: ");
  62. scanf("%lf %lf", &num1, &num2);
  63. result = pow(num1, num2);
  64. printf("ผลลัพธ์: %.2lf\n", result);
  65. break;
  66. case 6:
  67. printf("ป้อนตัวเลข: ");
  68. scanf("%lf", &num1);
  69. if (num1 >= 0)
  70. result = sqrt(num1);
  71. else {
  72. printf("ข้อผิดพลาด: ไม่สามารถหารากที่สองของค่าลบได้!\n");
  73. continue;
  74. }
  75. printf("ผลลัพธ์: %.2lf\n", result);
  76. break;
  77. case 7:
  78. printf("ป้อนมุม (องศา): ");
  79. scanf("%lf", &num1);
  80. result = sin(num1 * M_PI / 180);
  81. printf("ผลลัพธ์: %.2lf\n", result);
  82. break;
  83. case 8:
  84. printf("ป้อนมุม (องศา): ");
  85. scanf("%lf", &num1);
  86. result = cos(num1 * M_PI / 180);
  87. printf("ผลลัพธ์: %.2lf\n", result);
  88. break;
  89. case 9:
  90. printf("ป้อนมุม (องศา): ");
  91. scanf("%lf", &num1);
  92. result = tan(num1 * M_PI / 180);
  93. printf("ผลลัพธ์: %.2lf\n", result);
  94. break;
  95. case 10:
  96. printf("ป้อนตัวเลข: ");
  97. scanf("%lf", &num1);
  98. if (num1 > 0)
  99. result = log10(num1);
  100. else {
  101. printf("ข้อผิดพลาด: ไม่สามารถคำนวณ log ของค่าที่น้อยกว่าหรือเท่ากับ 0 ได้!\n");
  102. continue;
  103. }
  104. printf("ผลลัพธ์: %.2lf\n", result);
  105. break;
  106. case 0:
  107. printf("ออกจากโปรแกรม...\n");
  108. break;
  109. default:
  110. printf("ตัวเลือกไม่ถูกต้อง!\n");
  111. }
  112. } while (choice != 0);
  113.  
  114. return 0;
  115. }
  116.  
Success #stdin #stdout 0.02s 26060KB
stdin
Standard input is empty
stdout
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void menu() {
    printf("\n===== เครื่องคิดเลขขั้นสูง =====\n");
    printf("1. บวก (+)\n");
    printf("2. ลบ (-)\n");
    printf("3. คูณ (*)\n");
    printf("4. หาร (/)\n");
    printf("5. ยกกำลัง (pow)\n");
    printf("6. รากที่สอง (sqrt)\n");
    printf("7. sin\n");
    printf("8. cos\n");
    printf("9. tan\n");
    printf("10. log (ฐาน 10)\n");
    printf("0. ออกจากโปรแกรม\n");
    printf("============================\n");
}

int main() {
    int choice;
    double num1, num2, result;
    
    do {
        menu();
        printf("เลือกเมนู: ");
        scanf("%d", &choice);
        
        switch(choice) {
            case 1:
                printf("ป้อนสองตัวเลข: ");
                scanf("%lf %lf", &num1, &num2);
                result = num1 + num2;
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 2:
                printf("ป้อนสองตัวเลข: ");
                scanf("%lf %lf", &num1, &num2);
                result = num1 - num2;
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 3:
                printf("ป้อนสองตัวเลข: ");
                scanf("%lf %lf", &num1, &num2);
                result = num1 * num2;
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 4:
                printf("ป้อนสองตัวเลข: ");
                scanf("%lf %lf", &num1, &num2);
                if (num2 != 0)
                    result = num1 / num2;
                else {
                    printf("ข้อผิดพลาด: หารด้วยศูนย์ไม่ได้!\n");
                    continue;
                }
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 5:
                printf("ป้อนฐานและเลขชี้กำลัง: ");
                scanf("%lf %lf", &num1, &num2);
                result = pow(num1, num2);
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 6:
                printf("ป้อนตัวเลข: ");
                scanf("%lf", &num1);
                if (num1 >= 0)
                    result = sqrt(num1);
                else {
                    printf("ข้อผิดพลาด: ไม่สามารถหารากที่สองของค่าลบได้!\n");
                    continue;
                }
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 7:
                printf("ป้อนมุม (องศา): ");
                scanf("%lf", &num1);
                result = sin(num1 * M_PI / 180);
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 8:
                printf("ป้อนมุม (องศา): ");
                scanf("%lf", &num1);
                result = cos(num1 * M_PI / 180);
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 9:
                printf("ป้อนมุม (องศา): ");
                scanf("%lf", &num1);
                result = tan(num1 * M_PI / 180);
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 10:
                printf("ป้อนตัวเลข: ");
                scanf("%lf", &num1);
                if (num1 > 0)
                    result = log10(num1);
                else {
                    printf("ข้อผิดพลาด: ไม่สามารถคำนวณ log ของค่าที่น้อยกว่าหรือเท่ากับ 0 ได้!\n");
                    continue;
                }
                printf("ผลลัพธ์: %.2lf\n", result);
                break;
            case 0:
                printf("ออกจากโปรแกรม...\n");
                break;
            default:
                printf("ตัวเลือกไม่ถูกต้อง!\n");
        }
    } while (choice != 0);
    
    return 0;
}