#include <stdio.h>
void add(double number1, double number2)
{
printf("%.2f + %.2f = %.2f\n", number1,
number2,
number1 + number2);
}
void subtract(double number1, double number2)
{
printf("%.2f - %.2f = %.2f\n", number1,
number2,
number1 - number2);
}
void multiply(double number1, double number2)
{
printf("%.2f * %.2f = %.2f\n", number1,
number2,
number1 * number2);
}
void divide(double number1, double number2)
{
if (number2 == 0)
{
printf("Cannot divide by zero.\n"); }
else
{
printf("%.2f / %.2f = %.2f\n", number1,
number2,
number1 / number2);
}
}
int main(void)
{
void (*operations[4])(double, double) =
{
add,
subtract,
multiply,
divide
};
int choice;
double number1;
double number2;
printf("Enter 1 to subtract\n"); printf("Enter 2 to multiply\n"); printf("Enter 3 to divide\n");
if (choice < 0 || choice > 3)
{
}
else
{
printf("Enter two numbers: "); scanf("%lf %lf", &number1
, &number2
);
(*operations[choice])(number1, number2);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFkZChkb3VibGUgbnVtYmVyMSwgZG91YmxlIG51bWJlcjIpCnsKICAgIHByaW50ZigiXG5BZGRpdGlvblxuIik7CiAgICBwcmludGYoIiUuMmYgKyAlLjJmID0gJS4yZlxuIiwKICAgICAgICAgICBudW1iZXIxLAogICAgICAgICAgIG51bWJlcjIsCiAgICAgICAgICAgbnVtYmVyMSArIG51bWJlcjIpOwp9Cgp2b2lkIHN1YnRyYWN0KGRvdWJsZSBudW1iZXIxLCBkb3VibGUgbnVtYmVyMikKewogICAgcHJpbnRmKCJcblN1YnRyYWN0aW9uXG4iKTsKICAgIHByaW50ZigiJS4yZiAtICUuMmYgPSAlLjJmXG4iLAogICAgICAgICAgIG51bWJlcjEsCiAgICAgICAgICAgbnVtYmVyMiwKICAgICAgICAgICBudW1iZXIxIC0gbnVtYmVyMik7Cn0KCnZvaWQgbXVsdGlwbHkoZG91YmxlIG51bWJlcjEsIGRvdWJsZSBudW1iZXIyKQp7CiAgICBwcmludGYoIlxuTXVsdGlwbGljYXRpb25cbiIpOwogICAgcHJpbnRmKCIlLjJmICogJS4yZiA9ICUuMmZcbiIsCiAgICAgICAgICAgbnVtYmVyMSwKICAgICAgICAgICBudW1iZXIyLAogICAgICAgICAgIG51bWJlcjEgKiBudW1iZXIyKTsKfQoKdm9pZCBkaXZpZGUoZG91YmxlIG51bWJlcjEsIGRvdWJsZSBudW1iZXIyKQp7CiAgICBwcmludGYoIlxuRGl2aXNpb25cbiIpOwoKICAgIGlmIChudW1iZXIyID09IDApCiAgICB7CiAgICAgICAgcHJpbnRmKCJDYW5ub3QgZGl2aWRlIGJ5IHplcm8uXG4iKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBwcmludGYoIiUuMmYgLyAlLjJmID0gJS4yZlxuIiwKICAgICAgICAgICAgICAgbnVtYmVyMSwKICAgICAgICAgICAgICAgbnVtYmVyMiwKICAgICAgICAgICAgICAgbnVtYmVyMSAvIG51bWJlcjIpOwogICAgfQp9CgppbnQgbWFpbih2b2lkKQp7CiAgICB2b2lkICgqb3BlcmF0aW9uc1s0XSkoZG91YmxlLCBkb3VibGUpID0KICAgIHsKICAgICAgICBhZGQsCiAgICAgICAgc3VidHJhY3QsCiAgICAgICAgbXVsdGlwbHksCiAgICAgICAgZGl2aWRlCiAgICB9OwoKICAgIGludCBjaG9pY2U7CiAgICBkb3VibGUgbnVtYmVyMTsKICAgIGRvdWJsZSBudW1iZXIyOwoKICAgIHByaW50ZigiRW50ZXIgMCB0byBhZGRcbiIpOwogICAgcHJpbnRmKCJFbnRlciAxIHRvIHN1YnRyYWN0XG4iKTsKICAgIHByaW50ZigiRW50ZXIgMiB0byBtdWx0aXBseVxuIik7CiAgICBwcmludGYoIkVudGVyIDMgdG8gZGl2aWRlXG4iKTsKCiAgICBzY2FuZigiJWQiLCAmY2hvaWNlKTsKCiAgICBpZiAoY2hvaWNlIDwgMCB8fCBjaG9pY2UgPiAzKQogICAgewogICAgICAgIHByaW50ZigiSW52YWxpZCBjaG9pY2UuXG4iKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBwcmludGYoIkVudGVyIHR3byBudW1iZXJzOiAiKTsKICAgICAgICBzY2FuZigiJWxmICVsZiIsICZudW1iZXIxLCAmbnVtYmVyMik7CgogICAgICAgICgqb3BlcmF0aW9uc1tjaG9pY2VdKShudW1iZXIxLCBudW1iZXIyKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=