2.Calculator
2.Calculator
h>
#include <math.h>
void display_menu() {
printf("13. Exit\n");
printf("---------------------------------\n");
return a + b;
}
double subtract(double a, double b) {
return a - b;
return a * b;
if (b == 0) {
return 0;
return a / b;
double calculate_factorial(int n) {
double fact = 1;
fact *= i;
return fact;
}
int main() {
int choice;
while (1) {
display_menu();
scanf("%d", &choice);
switch (choice) {
case 1: // Addition
break;
case 2: // Subtraction
break;
case 3: // Multiplication
break;
case 4: // Division
break;
case 5: // Sine
scanf("%lf", &num1);
result = sin(num1);
break;
case 6: // Cosine
scanf("%lf", &num1);
result = cos(num1);
break;
case 7: // Tangent
scanf("%lf", &num1);
result = tan(num1);
printf("Result: %.2lf\n", result);
break;
case 8: // Logarithm
scanf("%lf", &num1);
if (num1 > 0) {
result = log(num1);
} else {
break;
case 9: // Power
break;
scanf("%lf", &num1);
if (num1 >= 0) {
result = sqrt(num1);
} else {
printf("Error: Square root of negative number!\n");
break;
int n;
scanf("%d", &n);
result = calculate_factorial(n);
break;
scanf("%lf", &num1);
result = fabs(num1);
break;
return 0;
default:
return 0;
}
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
#define E 2.71828182845904523536
void display_menu() {
printf("30. Exit\n");
printf("---------------------------------\n");
return a + b;
}
// Basic and Advanced Operations (code remains the same for add, subtract, etc.)
// Degrees to radians
// Radians to degrees
int main() {
int choice;
while (1) {
display_menu();
scanf("%d", &choice);
switch (choice) {
result = sin(num1);
break;
scanf("%lf", &num1);
result = asin(num1);
break;
scanf("%lf", &num1);
result = sinh(num1);
break;
scanf("%lf", &num1);
if (num1 > 0) {
result = log10(num1);
} else {
}
break;
scanf("%lf", &num1);
result = exp(num1);
break;
int a, b;
if (b != 0) {
} else {
break;
break;
break;
break;
memory = 0.0;
printf("Memory Cleared.\n");
break;
break;
break;
scanf("%lf", &num1);
result = degrees_to_radians(num1);
break;
scanf("%lf", &num1);
result = radians_to_degrees(num1);
break;
return 0;
default:
return 0;