这是一个简单的计算器,我想约束用户只能输入数字,即当用户输入键盘上其它非数字按键时,提示必须输入数字,该怎么判断,请高手指点,谢谢
#include<stdio.h>
void main()
{
float num1,num2,result;
char op,ans='y';
do
{
printf("请输入第一个数字:");
fflush(stdin);
scanf("%f",&num1);
printf("\n请输入运算符:");
fflush(stdin);
scanf("%c",&op);
printf("\n请输入第二个数字:");
fflush(stdin);
scanf("%f",&num2);
switch(op)
{
case '+':
result=num1+num2;
break;
case '-':
result=num1-num2;
break;
case '*':
result=num1*num2;
break;
case '/':
if(num2!=0)
{
result=num1/num2;
break;
}
else
{
printf("\n注意:除数不能为零,请重新输入!\n\n");
continue;
}
default:
printf("\n提示:请在+ - * /中做出选择!\n\n");
continue;
}
printf("%5.2f%c%5.2f=%5.2f\n",num1,op,num2,result);
printf("\n是否继续进行计算(Y/N)?\n");
scanf(" %c",&ans);
while(ans!='Y' && ans!='y' && ans!='N' && ans!='n') //提示是否计算后,用户必须在'y'和'n'中进行选择
{
printf("请在Y和N中做出选择!\n");
scanf(" %c",&ans);
}
}while(ans=='Y'||ans=='y');
}