首页 > 其他 > 详细

《数据结构、算法与应用》第一章习题1.1

时间:2014-03-30 22:38:16      阅读:491      评论:0      收藏:0      [点我收藏+]

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢bubuko.com,布布扣bubuko.com,布布扣


1.试编写一个模板函数,它要求用户输入一个非负数,并负责验证用户所输入的数是否真的大于或等于 0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。输入成功时,函数应返回 true,否则返回false 。上机测试该函数。


//
//  main.cpp
//  Test_01
//
//  Created by cc on 14-3-30.
//  Copyright (c) 2014年 cc. All rights reserved.
//

/*      
 1. 试编写一个模板函数,它要求用户输入一个非负数,并负责验证用户所输入的数是否真的大于或等于 0,如果不是,它将告诉用户该输入非法,需要重新输入一个数。在函数非成功退出之前,应给用户三次机会。如果输入成功,函数应当把所输入的数作为引用参数返回。 输入成功时,函数应返回 true, 否则返回false 。上机测试该函数。
 */


#include <iostream>

using namespace std;

//声明
template <typename T>
bool checkInput(T& t);

int main(int argc, const char * argv[]) {
    
    int ref = 0;
    int i = 0;
    bool isPositive = false;
    for (; i < 3; i++) {
        isPositive = checkInput(ref);
        if (isPositive) {
            cout << "输入成功,您输入的正数为:" << ref << endl;
            break;
        } else {
            continue;
        }
    }
    
    return 0;
}


//定义
template <typename T>
bool checkInput(T& ref) {
    int inputVal;
    cin >> inputVal;
    if (inputVal >= 0) {
        ref = inputVal;
        return true;
    } else {
        cerr << "您输入的数是负数,非法!" << endl;
        return false;
    }
}


输入正确打印结果:

bubuko.com,布布扣

3次输入错误后程序退出,打印结果:

bubuko.com,布布扣

本文由CC原创总结,如需转载请注明出处:http://blog.csdn.net/oktears/article/details/22593499



《数据结构、算法与应用》第一章习题1.1,布布扣,bubuko.com

《数据结构、算法与应用》第一章习题1.1

原文:http://blog.csdn.net/oktears/article/details/22593499

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!