my program works fine but as soon as i try to enter E or e it just stays in a infinite loop help please see if you can spot my problem.
Code:
#include <stdio.h>
int main (void)
{
float value1;
float accumulator = 0;
char operator;
printf ("\t\tCalulator\n");
printf ("\t\t---------\n");
do
{
printf("Type in your test\n");
scanf("%f %c", &value1, &operator);
switch (operator)
{
case 'S':
accumulator = value1;
printf("%.3f\n", value1);
break;
case 's':
accumulator = value1;
printf("%.3f\n", value1);
break;
case '+':
accumulator += value1;
printf("%.3f\n", accumulator);
break;
case '-':
accumulator = accumulator - value1;
printf("%.3f\n", accumulator);
break;
case '/':
accumulator = accumulator / value1;
printf("%.3f\n", accumulator);
break;
case '*':
accumulator = accumulator * value1;
printf("%.3f\n", accumulator);
break;
case 'E':
printf("End of Tests\n");
break;
case 'e':
printf("End of Tests\n");
break;
default:
printf("UNKNOWN OPERATOR\n");
break;
}
while (operator != 'e' && operator != 'E');
}
printf("\n%.3f\n", accumulator);
return 0;
}