码迷,mamicode.com
首页 > 其他好文 > 详细

练习2014081402

时间:2014-08-14 13:57:08      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   ar   2014   cti   

/********************************************************************
@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,布布扣,bubuko.com

练习2014081402

标签:style   blog   color   os   io   ar   2014   cti   

原文地址:http://www.cnblogs.com/roronoa-zoro-zrh/p/3912272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!