0

これは私が取り組んでいるものです。私のコードは、ユーザーが 1、2、または 0 の値を入力することを確認するユーザー入力を読み取ることになっています。これですべてが実行されますが、最適化に問題があります。

  • 正しい数値を入力しても、最初は登録されません。プログラムが機能するためには、再度値を入力する必要があります。

    int LogicCalculator::m_userChoice(int &number)
    {
    number = num;//assignment
    //output
    std::cout<<"Selection: ";
    //input
    std::cin>>number;
    //Error Checking
    while((number < 0 || number > 3) || !(cin >> number))
    {
    cin.sync(); //discard unread characters in input buffer
    cin.clear(); //clear bad input flag
    
    cout<<"Only 1, 2 or 0 are acceptable entries. Exception No."<<endl;
    cout<<"Press Enter to Try Again"<<endl;
    
    if(cin.ignore())
    {
        system("cls");//clears the screen after the user presses Enter
    }
    
    m_Menu();
    m_userChoice(number);
    }
    return number;
    };
    

誰かがこれを解決する方法を知っていれば、私は大いに感謝します.

4

0 に答える 0