Довести до ума простой калькулятор - 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-4 до тех пор, пока не будет введен оператор
E.