/*--------------------------------------------------------------
试编写一个模板函数I n p u t,它要求用户输入一个非负数,并负责验证用户所输入的数是
否真的大于或等于 0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非
成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。
输入成功时,函数应返回true, 否则返回f a l s e。上机测试该函数。
-------------------------------------------------------------------*/
#include <iostream>
using namespace std;
template <class T>
bool input(T & ass)
{
T num;
int i = 1;
while (i <= 3)
{
cin >> num;
if (num < 0)
{
cout << "The num is error! \n";
i++;
}
else
break;
}
if (i > 3)
return false;
else
{
ass = num;
cout << "True! -- " << ass << endl;;
return true;
}
}
int main ()
{
float a;
input (a);
return 0;
}