Калькулятор - простые вычисления до тех пор, пока пользователь не нажмет "=" - C (СИ)

Формулировка задачи:

Задание: вводим число, действие и число. И так до тех пор, пока не введём знак "=", когда он, то сразу же выводится значение, что получилось. Например, 2+3*4+6=... - сначала подсчитывается сумма 2+3, затем (не учитывая приоритетов действий) умножаем эту сумму на 4 и т.д. То, что написала, не изменяет переменную a почему-то
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
int main()
{
    double a,b=0;
    char ch;
    setlocale(LC_ALL,"russian");
    printf("Введите число \n");
    scanf_s("%lf",&a);
    printf("Введите действие \n");
    fflush(stdin);
    scanf_s("%c",&ch);
    while (ch!=61)
    {
        printf("Введите число \n");
        scanf_s("%lf",&b);
        printf("Введите действие \n");
        fflush(stdin);
        scanf_s("%c",&ch);
    }
    switch (ch)
    {
    case '+': a=a+b;
        break;
    case '-': a=a-b;
        break;
    case '*': a=a*b;
        break;
    case '/': a=a/b;
    }
    if (ch==61) printf("=%2.lf\n",a);
    _getch ();
    return 0;
}
Помогиииите, пожалуйста!

Код к задаче: «Калькулятор - простые вычисления до тех пор, пока пользователь не нажмет "=" - C (СИ)»

textual
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
int main()
{
    double a,b=0;
    char ch;
    setlocale(LC_ALL,"russian");
    printf("Введите число \n");
    scanf("%lf",&a);
    printf("Введите действие \n");
    fflush(stdin);
    scanf("%c",&ch);
    printf("Введите число \n");
        scanf("%lf",&b);
    while (1)
    {
        switch (ch)
            {
            case '+': a=a+b;
                break;
            case '-': a=a-b;
                break;
            case '*': a=a*b;
                break;
            case '/': a=a/b;
            }
 
        printf("Введите действие \n");
        fflush(stdin);
        scanf("%c",&ch);
            if (ch==61)
            {
                printf("=%2.lf\n",a);
                return 0;
            }
        printf("Введите число \n");
        scanf("%lf",&b);
 
   }
 
    _getch ();
    return 0;
}

11   голосов, оценка 4.091 из 5


СОХРАНИТЬ ССЫЛКУ