Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当条件满足时,循环未关闭时,我的代码有什么问题 我正在通过Ivor HORTN的开始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; }_C++_Do While_Libstdc++ - Fatal编程技术网

当条件满足时,循环未关闭时,我的代码有什么问题 我正在通过Ivor HORTN的开始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; }

当条件满足时,循环未关闭时,我的代码有什么问题 我正在通过Ivor HORTN的开始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; },c++,do-while,libstdc++,C++,Do While,Libstdc++,该程序的目的是允许用户输入一个字母,直到他们输入q或q,此时do…while循环结束,程序向用户显示他们输入的元音数 当我运行此程序时,当我输入Q或Q时,程序不会退出。为什么?我如何解决这个问题?字母!='Q'| |字母!='q' 这总是正确的。你是说& 对于这个案例,请注意:它不能按原样工作,您可以编写案例“a”:案例“a”…: =>所有元音的大小写都属于元音++ 字母!='Q'| |字母!='q' 意味着 字母不是Q或不是Q。。。所以这永远是真的。。。好像它是Q,它不会是Q,如果它是Q,它也

该程序的目的是允许用户输入一个字母,直到他们输入q或q,此时do…while循环结束,程序向用户显示他们输入的元音数

当我运行此程序时,当我输入Q或Q时,程序不会退出。为什么?我如何解决这个问题?

字母!='Q'| |字母!='q'

这总是正确的。你是说&

对于这个案例,请注意:它不能按原样工作,您可以编写案例“a”:案例“a”…: =>所有元音的大小写都属于元音++

字母!='Q'| |字母!='q'

意味着

字母不是Q或不是Q。。。所以这永远是真的。。。好像它是Q,它不会是Q,如果它是Q,它也不会是Q。。。若字母同时是Q和Q,那个么这就错了

只需使用:

信Q'&字母!='摩根定律

!( letter == 'Q' || letter == 'q' ) <=> ( letter != 'Q' && letter != 'q' )
德摩根的法律规定

非A或B等同于非A和非B。

试试这个

#include <iostream>

using namespace std;

int main()
{
    char letter;
    int vowels = 0;
    int flag = 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;
            case 'q' || 'Q' :  flag = 1;    
            break;
            default: // If letter is not a vowel, break loop
                break;
        }
    } while (flag !== 1);

    cout << "You entered " << vowels << " vowels.";
    return 0;
}

字母永远不等于'Q'和'Q'不是你要求的那样,所以贴出来作为评论,但是大小写'a'| |'a'| |'e'| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |;提示编译器未正确生成代码。Occam的剃须刀应该总是暗示你的代码有错。事实上,这种情况总是正确的。更好的标题是为什么循环永远不满足终止条件?i、 为什么我错了?更确切地说,为什么编译器错了?可能是“Q”| |“Q”的重复-这并不意味着你认为它的意思。1。这不是你在C或C++中写多个案例的方式。2.你似乎试图测试‘a’和‘Q’,而不是‘Q’和‘Q’。3.你的格式化很可怕,你写C++或C++的多个案例还不是。但是谢谢你解决了其他问题。