求高手解释循环嵌套的有关问题

求高手解释循环嵌套的问题
请问我这个程序为何陷入死循环中
//计算输入的字符为原音和辅音的个数
#include <iostream>

using std::cin;
using std::cout;
using std::endl;

int main()
{
int vowel=0;
int consonant=0;
char ch=0;
cout<<endl;
  cout<<"Enter letters,one letter no line";
  cin>>ch;
while((ch!='q')||(ch!='Q'))
{
switch(ch)
{
case 'A': case 'a':  
case'E': case'e':
case'I': case 'i': 
case'O': case'o':  
case'U': case'u':
 
++vowel;
break;
default:
++consonant;
break;
 
}
  cin>>ch;
 
}
cout<<endl<<"Total of vowel letters are: "<<vowel<<endl;
cout<<"Total of consonant letters are: "<<consonant<<endl;
 
return 0;
}



------解决方案--------------------
C/C++ code
 while( (ch != 'q') || (ch != 'Q') )

------解决方案--------------------
while((ch!='q')&&(ch!='Q'))