Калькулятор, который поддерживает четыре операции: сложение, вычитание, умножение, деление - 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

Заранее спасибо!!!

Решение задачи: «Калькулятор, который поддерживает четыре операции: сложение, вычитание, умножение, деление»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int sum(int a, int b) {
  4.     return a + b;
  5. }
  6.  
  7. int sub(int a, int b) {
  8.     return a - b;
  9. }
  10.  
  11. int mul(int a, int b) {
  12.     return a * b;
  13. }
  14.  
  15. int div(int a, int b) {
  16.     return b ? (a / b) : 0;
  17. }
  18.  
  19. void flush() {
  20.     int ch;
  21.     while (((ch = getchar()) != '\n') && (ch != EOF)) { ; }
  22. }
  23.  
  24. int main() {
  25.     int ch;
  26.     int a, b;
  27.     int (*func)(int, int);
  28.  
  29.     while ((ch = getchar()) != 'e') {
  30.         switch (ch) {
  31.             case 's':
  32.                 func = sum;
  33.                 break;
  34.             case 'o':
  35.                 func = sub;
  36.                 break;
  37.             case 'n':
  38.                 func = mul;
  39.                 break;
  40.             case 'd':
  41.                 func = div;
  42.                 break;
  43.             default:
  44.                 func = NULL;
  45.         }
  46.  
  47.         if (func) {
  48.             if (scanf("%d %d", &a, &b) == 2) {
  49.                 printf("%d\n", func(a, b));
  50.             }
  51.         }
  52.         else {
  53.             printf("Operacia nie je podporovana\n");
  54.         }
  55.         flush();
  56.     }
  57.  
  58.     return 0;
  59. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы