/******************************************************************** @file Main_practise.cpp @date 2014-8-14 @author Tiger @brief 练习 试编写一个模板函数Input,它要求用户输入一个非负数,并负 责验证用户所输入的数是否真的大于或等于0,如果不是,它将 告诉用户该输入非法,需要重新输入一个数。在函数非成功退出 之前,应给用户三次机会。如果输入成功,函数应当把所输入的 数作为引用参数返回。输入成功时,函数应返回true, 否则返回 false。上机测试该函数。 ********************************************************************/ #include <iostream> const double EPS = 0.000001; const int TIMES = 2; template <typename T> bool Input(T& t); int main(int argc, const char* argv[]) { int nInput = 0; if (Input(nInput)) { std::cout << "Get input success!" << std::endl; } else { std::cout << "Get input fail!" << std::endl; } system("pause"); return 0; } template <typename T> bool Input(T& t) { std::cout << "Please Input a number:"; int nTimes = 0; do { std::cin >> t; if (t - 0 >= EPS) { return true; } else if (nTimes < TIMES) { std::cout << "Input illegal!Please Input a number again:"; } } while (nTimes++ < TIMES); return false; }
练习2014081402
时间: 2024-10-08 01:19:03