Довести до ума простой калькулятор - C (СИ)

Узнай цену своей работы

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

Помогите сделать задание никак не получается((( Задание такое :
// hometask.cpp: простой калькулятор.
//
 
#include "stdafx.h"
#include "stdio.h"
 
int main(void)
{
    char oper1,oper;
    float value1,acc;
    printf ("Nachalo vichisleniy\nType in your experssion.\n");
    scanf ("%f %c", &value1, &oper);
    switch (oper)
    {
        case '/':
            if (value1 ==0)
                printf ("Division by zero!\n");
            else
                acc=acc/value1;
            printf ("%.1f\n", acc);
            scanf("%f %c", &value1, &oper);

        case '+':
            acc=acc+value1;
            printf ("%.1f\n", acc);
            scanf("%f %c", &value1, &oper);

        case '-':
            acc=acc-value1;
            printf ("%.1f\n", acc);
            scanf("%f %c", &value1, &oper);
 
        case 'S':
            acc=value1;
            printf("%.1f\n",acc );
            scanf("%f %c", &value1, &oper);

        case '*':
            acc=value1*acc;
            printf ("%.1f\n", acc);
            scanf("%f %c", &value1, &oper);

        case 'E':
            printf("%.1f\n", acc);
            break;
 
        default:
            printf ("Unknown oreator.\n");
    }
 
    return 0;
}

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

textual
Листинг программы
// hometask.cpp: простой калькулятор.
//
#include "stdafx.h"
#include "stdio.h"
 
int main(void)
{
    char oper1,oper;
    float value1,acc;
printf ("Nachalo vichisleniy\nType in your experssion.\n");
   scanf ("%f %c", &value1, &oper);
 
   while(oper !='E') 
   {  
            switch (oper)
    {
        case '/':
            if (value1 ==0)
                printf ("Division by zero!\n");
            else
                acc=acc/value1;
            printf ("%.1f\n", acc);
            break;
 
 
        case '+':
            acc=acc+value1;
            printf ("%.1f\n", acc);
            break;
 
 
 
        case '-':
            acc=acc-value1;
            printf ("%.1f\n", acc);
            break;
 
        case 'S':
            acc=value1;
            printf("%.1f\n",acc );
            break;
            
 
 
        case '*':
            acc=value1*acc;
            printf ("%.1f\n", acc);
            break;
 
 
        case 'E':
            printf("%.1f\n", acc);
            break;
 
        default:
            printf ("Unknown oreator.\n");
            break;
    }
printf ("Gotov k vichislenyiam.\n");
   scanf ("%f %c", &value1, &oper);
}
   return 0;
}

Объяснение кода листинга программы

  1. Ввод значения и оператора с клавиатуры.
  2. Проверка корректности введенного значения (не равно ли оно нулю).
  3. Выполнение операции в зависимости от введенного оператора.
  4. Вывод результата на экран.
  5. Повторение шагов 1-4 до тех пор, пока не будет введен оператор E.

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы