float get_number();
void show_menu();
int main()
{
char choice;
float first, second;
do
{
show_menu();
choice = getchar();
/*while (getchar() != '\n')
{
continue;
}*/
switch (choice)
{
case 'a':
printf("enter first number:\n");
first = get_number();
printf("enter second number:\n");
second = get_number();
printf("%g+%g=%g\n", first, second, (first + second)*1.0);
break;
case 's':
printf("enter first number:\n");
first = get_number();
printf("enter second number:\n");
second = get_number();
printf("%g-%g=%g\n", first, second, first - second);
break;
case 'm':
printf("enter first number:\n");
first = get_number();
printf("enter second number:\n");
second = get_number();
printf("%g*%g=%g\n", first, second, first * second);
break;
case 'd':
printf("enter first number:\n");
first = get_number();
printf("enter second number:\n");
second = get_number();
while (second == 0)
{
printf("please enter a number other than 0");
second = get_number();
}
printf("%g/%g=%g\n", first, second, first / second);
break;
case 'q':
break;
default:
("please enter a char,such a,s,m,d and q:\n");
while (getchar() != '\n');
break;
}
//while (getchar() != '\n');
} while (choice != 'q');
return 0;
}
float get_number()
{
float f;
char c;
while (scanf("%f", &f) != 1)
{
while ((c = getchar()) != '\n')
{
putchar(c);
}
printf("is not a number\n");
printf("please a number,such as 2.5,-1.78E8,or 3");
}
getchar();
return f;
}
void show_menu()
{
printf("Enter the operation of your choice :\na.add\ns.subtract\nm.multiply\nd.divide\nq.quit\n");
}