我的循环不想结束

My loop does't want to end

所以我在游戏的一个阶段创建了一个菜单。选择选项 1 或 3 后你死了,你必须选择另一个,直到你选择选项 2 或 4。之后我的循环应该结束以允许玩家按下任何按钮,自动保存他的游戏,关闭程序并在函数 int main() 转到游戏的另一部分,但在按下 2 或 4 循环后仍然有效,我可以永远按下这 4 个按钮。有人知道怎么回事吗?

       cout<<tr("1. Option")<<endl;
    cout<<tr("2. Option")<<endl;
    cout<<tr("3. Option")<<endl;
    cout<<tr("4. Option")<<endl;



    while((wyborstage[2]!='2')||(wyborstage[2]!='4'))
    {
        wyborstage[2]=getch();
        switch((wyborstage[2]))
        {
            case '1':
            {
                cout<<endl;
                cout<<"Sample Text"<<endl<<endl;
                cout<<"Try again"<<endl;
            }
            break;

            case '2':
            {
                cout<<endl;
                cout<<"Sample text"<endl;

            }
            break;

             case '3':
            {
                cout<<endl;
                cout<<"Sample text"<<endl;
                cout<<tr("Try again")<<endl;
            }
            break;

            case '4':
            {
                cout<<endl;
                cout<<"Sample text"<<endl;
                ;
            }
            break;

            default:
            {
                cout<<endl;
                cout<<"Wrong answer"<<endl;
            }

        }
    }

    //End of this part of game

cout<<"Press any button to continue";
getch();

system("cls");

fstream save3;
save3.open("save.conf", ios::out);
save3<<3<<endl;

integ--;

您的循环永远不会结束,因为它始终为真,您可能需要 && 而不是 ||。您当前说的是在值不是 2 或值不是 4 时循环。将值设置为 2 或 4 仍然会有 || 的另一边。为真,而 while 将继续。