CDu*_*uck 0 c++ libstdc++ do-while
我正在通过Ivor Horton的Beginning Visual C++ 2012工作,我在第三章练习二:决策和循环.这是我的代码:
#include <iostream>
using 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;
}
Run Code Online (Sandbox Code Playgroud)
该程序的目的是允许用户输入一个字母,直到它们输入q或Q,此时do ... while循环结束,程序向用户显示他们输入的元音数.
当我运行它时,程序在我输入Q或q时不会退出.为什么?我怎样才能解决这个问题?
letter != 'Q' || letter != 'q'
手段...
信是不是Q or不是q......所以它总是真的......,如果是Q,它不会是q,如果它是q,它不会是Q......这将是只有假的,如果信会Q和q一次.
只需使用:
letter != 'Q' && letter != 'q'
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |