我想知道最有效的检查方法,看看我们从用户那里获取的数字是否介于两个数字之间,否则我们会将其设置为默认值。
示例如果我们想让他们随机猜测三个数字1-25但是如果他们猜测27 20 10.他们在三个中的两个输入有效猜测。
所以我可以这样做:
if(g1 > 25 || g1 <0) {
if(g1 >25) g1=25;
if(g1 < 0) g1 =0;
}
然后整个更多if语句来检查输入。我知道我可以使用一个函数来检查这个但是很难。我想通过它,并意识到我可以做如果g1&gt; 25 || G2&GT; 25 || G3&GT; 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;
}
答案 0 :(得分:2)
怎么样:
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,则检查一次。
答案 1 :(得分:1)
bool isBetween(int upperBound, int lowerBound, int inputNumber) {
return !(inputNumber > upperBound || inputNumber < lowerBound);
}
如果inputNumber
介于upperBound
和lowerBound
之间,则此函数将返回true。