检查号码的功能

Function to Check number

本文关键字:功能 号码 检查      更新时间:2023-10-16

我想知道最有效的方法来检查并查看我们从用户那里获取的数字是否在两个数字之间,如果不是,我们会将其设置为默认值。

例如,如果我们想让他们随机猜测三个数字 1-25,但如果他们猜测 27 20 10。他们对三个中的两个输入有效的猜测。

所以我可以做这样的事情:

if(g1 > 25 || g1 <0) {
     if(g1 >25) g1=25;
     if(g1 < 0) g1 =0;
}

然后一大堆 if 语句来检查输入。我知道我可以使用一个函数来检查这一点,但很挣扎。我想了想,意识到如果 g1> 25 ||G2> 25 ||g3> 25 然后我可以调用一个函数并运行它。但是我仍然会使用相同的数量 if 和 if else 语句,所以这不是最有效的方法。

有目的的想法

if (g1 >25 || g2> 25 || g3> 25) {
    guesstobig(g1,g2);
}

那么这将相当于我的函数中的相同数量:

int guesstobig(int g1, int g2){
    if(g1>25) g1=25;
    if(g2 >25) g2=25;
    return g1, g2;
}

怎么样:

int clamp(int i)
{
    if(i<0)
        return 0;
    if(i>25)
        return 25;
    return i;
}
g1 = clamp(g1);
g2 = clamp(g2);
g3 = clamp(g3);
这样,如果

每个输入低于 0,则检查一次,如果不是,则检查一次(如果高于 25)。

bool isBetween(int upperBound, int lowerBound, int inputNumber) {
    return !(inputNumber > upperBound || inputNumber < lowerBound);
}

如果inputNumber介于upperBoundlowerBound(含)之间,则此函数将返回 true。