我正在通过Ivor Horton的Beginning Visual C++ 2012工作,我在第三章练习二:决策和循环.这是我的代码:
#includeusing namespace std; int main() { char letter; int vowels = 0; do { cout << "Enter a letter, and enter q or Q to end" << endl; cin >> letter; // Enter a letter switch (letter) { case 'a' || 'A' || 'e' || 'E' || 'i' || 'I' || 'o' || 'O' || 'u' || 'U': // If letter is a vowel, add to vowels variable vowels++; break; default: // If letter is not a vowel, break loop break; } } while (letter != 'Q' || letter != 'q'); cout << "You entered " << vowels << " vowels."; return 0; }
该程序的目的是允许用户输入一个字母,直到它们输入q或Q,此时do ... while循环结束,程序向用户显示他们输入的元音数.
当我运行它时,程序在我输入Q或q时不会退出.为什么?我怎样才能解决这个问题?
letter != 'Q' || letter != 'q'
手段...
信是不是Q
or
不是q
......所以它总是真的......,如果是Q
,它不会是q
,如果它是q
,它不会是Q
......这将是只有假的,如果信会Q
和q
一次.
只需使用:
letter != 'Q' && letter != 'q'