Калькулятор, который поддерживает четыре операции: сложение, вычитание, умножение, деление - C (СИ)
Формулировка задачи:
Помогиет пожалуйста... Я не знаю как написать эту программу...
Напишите программу, которая будет служить в качестве простого калькулятора, который поддерживает четыре операции: сложение, вычитание, умножение, деление. Пользователи вводят с клавиатуры символов выбранных операций: s – sčítanie(сложение), o – odčítanie(вычитание), n – násobenie(умножение), d – delenie(деление) a hodnoty operandov. Программа останавливается при вводе символов e – exit. Если пользователь вводит иной характер, чем выше особенностей операций, программа печатает операцию памятки не поддерживается и ждет, чтобы войти в следующую операцию. Каждая операция будет осуществляться в отдельном сообщении. Каждая функция будет называться через указатель на функцию. Операции на целое число (с использованием типа данных int). ВВОД: s 2 5 t n 3 12 e ВЫВОД: 7 Operacia nie je podporovana 36
Заранее спасибо!!!
Решение задачи: «Калькулятор, который поддерживает четыре операции: сложение, вычитание, умножение, деление»
#include <stdio.h>
int sum(int a, int b) {
return a + b;
}
int sub(int a, int b) {
return a - b;
}
int mul(int a, int b) {
return a * b;
}
int div(int a, int b) {
return b ? (a / b) : 0;
}
void flush() {
int ch;
while (((ch = getchar()) != '\n') && (ch != EOF)) { ; }
}
int main() {
int ch;
int a, b;
int (*func)(int, int);
while ((ch = getchar()) != 'e') {
switch (ch) {
case 's':
func = sum;
break;
case 'o':
func = sub;
break;
case 'n':
func = mul;
break;
case 'd':
func = div;
break;
default:
func = NULL;
}
if (func) {
if (scanf("%d %d", &a, &b) == 2) {
printf("%d\n", func(a, b));
}
}
else {
printf("Operacia nie je podporovana\n");
}
flush();
}
return 0;
}