C++ 如何在if语句c++;

C++ 如何在if语句c++;,c++,C++,基本上是做一个密码生成器。要过滤掉ASCII字符91-96吗 这是我的if声明。我怎样才能缩短它使它像 “randomnumber==91-96”而不必重复我自己 if (randomnum == 91 || randomnum == 92 || randomnum == 93 || randomnum == 94 || randomnum == 95 || randomnum == 96) // We dont want values 91 - 96 { // Do nothing

基本上是做一个密码生成器。要过滤掉ASCII字符91-96吗 这是我的if声明。我怎样才能缩短它使它像 “randomnumber==91-96”而不必重复我自己

if (randomnum == 91 || randomnum == 92 || randomnum == 93 || randomnum == 94 || randomnum == 95 || randomnum == 96) // We dont want values 91 - 96
    { // Do nothing
    }
if(randomnum>90&&randomnum<97)//我们不想要值91-96
{//什么也不做
}

如果要过滤掉
'Z'
'a'
之间的部分

if (randomnum > 'Z' && randomnum < 'a')
if(randomnum>'Z'&&randomnum<'a')

将更具可读性。

由于您希望过滤掉91和96之间的ASCII字符,您也可以通过以下方式进行过滤:

if (randomnum >= 91 && randomnum <= 96)
{ 
     // do stuff
}

if(randomnum>=91&&randomnum
if(randumnum>=91&&randomnum)就像cool guy说的那样,后退一步,抽象条件,然后用C表示。如果你想让数字大于“a”,小于“b”,您就这么写了。@IVIaximumPower欢迎使用堆栈溢出。如果您发现答案有帮助,请单击其分数下的复选标记接受它。这有助于将注意力集中在未解决的问题上。@AlexMeuer DoneNote说,这也将过滤掉91到96之间的非ASCII字符。它对值进行操作,而不管其来源如何.ASCII是映射值和显示字符的约定。它不是整数值的基本属性。感谢您指出这一点,@PeteBecker,我更新了我的帖子。
if (randomnum >= 91 && randomnum <= 96)
{ 
     // do stuff
}
if (randomnum >= '[' && randomnum <= '`') // Notice that I use a char value here with the comparison operator
{ 
     // do stuff
}