[求助]如何规定输入的数不能为小数?
do{
printf("\n\t\t请输入图书的数量:");
scanf("%d",&ts[i].tsshuliang);
if(ts[i].tsshuliang<=0)
{
printf("\n\t\t图书的数量不能为0或负数,按回车键重新输入......");
fflush(stdin);
getchar();
continue;
}
else
{
break;
}
}while(1);
我要它不能输入小数该如何?
如果你在输入的时候定义输入float数据,实现起来就很简单了,先把num强制转化成int型,再转化成float型和原来的num比较,如果num是小数他们肯定不相等.
float num;
do
{
printf("\n\t\t请输入图书的数量:");
scanf("%f",&num);
if(num<=0)
{
printf("\n\t\t图书的数量不能为0或负数,按回车键重新输入......");
fflush(stdin);
getch();
continue;
}
if(num!=(float)(int)num)
{
printf("\n\t\t图书的数量不能为小数,按回车键重新输入......");
fflush(stdin);
getch();
continue;
}
else
{
ts[i].tsshuliang=(int)num;
break;
}
}while(1);
[此贴子已经被作者于2007-9-20 10:17:30编辑过]