// 试编写一个模板函数I n p u t,它要求用户输入一个非负数,并负责验证用户所输入的数是
//否真的大于或等于0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非
//成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。
//输入成功时,函数应返回true, 否则返回f a l s e。上机测试该函数。
#include <stdio.h>
template<class T>
bool Input(T &a)
{
if (a < 0)
{
printf("Invalid Input!/n");
return false;
}
else
{
printf("Right Input!/n");
return true;
}
}
void main()
{
int iInput, i=0;
printf("Please Input an nonnegative number:");
scanf("%f", &iInput);
i++;
while (!Input(iInput))
{
if (i >= 3)
{
printf("You have tried for three times,now you should exit!/n");
break;
}
printf("Please Input again:");
scanf("%f", &iInput);
i++;
}
}