0

だから、私がプロジェクトを持っているとしましょう。このプロジェクトでは 2 つのクラスを使用します。1 番目のクラスは MenuClass で、2 番目は Pentagon クラスです。

メニュークラスで入力を取得し、あなたが何と言おうと、ペンタゴンクラスに移動またはコピーしたいとします。

どうやってそれをしますか?これが私のMenuClassからのコードです:

        Menu::Menu( void ) {

            userMenuSelection = Quit;

        } // Constructor Menu
//      =====================

        Menu::~Menu( void ) {

        cout << "====================================" << endl;

        } // Destructor ~Menu
//      =====================

//      ==============================
//      Accessor Member-Function Get()
//      ==========================
        MenuChoices Menu::Get( ) {

            return userMenuSelection;

        } // Accessor Method Get
//      ========================

//      =============================
//      Mutator Member-Function Set()
//      ========================================
        void Menu::Set( MenuChoices newValue ) {

            userMenuSelection = newValue;

        } // Mutator Method Set
//      =======================

//      ==========================
//      Member-Function Display( )
//      ==========================
        void Menu::Display( ) {

            cout << "======================================" << endl;
            cout << "             MENU SELECTION           " << endl;
            cout << "======================================" << endl;
            cout << "1: Calculate the Perimeter of Pentagon" << endl;
            cout << "2: Calculate the Area of Pentagon" << endl;
            cout << "3: Quit" << endl;
            cout << "======================================" << endl;
            cout << endl;

        } // Member-Function Display
//      ============================

//      =========================
//      Member-Function QueryUser
//      =========================
        void Menu::QueryUser( ) {

            int selection;

            cout << "Enter Menu Selection: ";
            cin >> selection;

            switch (selection){

                case 1: userMenuSelection = Perimeter;
                    break;

                case 2: userMenuSelection = Area;
                    break;

                case 3: userMenuSelection = Quit;

            default: userMenuSelection = Quit;

            } // switch
//          ===========

            cout << endl;

        } // Method QueryUser()
//      =======================

//      =================
//      Method Continue()
//      ========================
        bool Menu::Continue( ) {

            return userMenuSelection != Quit;

        } // Method Continue
//      ====================

//      ==============================
//      Member-Function ProcessCommand
//      ==============================
        void Menu::ProcessCommand( ) {

            int numberA; // Length of Sides


            if (userMenuSelection == Quit ){

                cout << "Thank you for using this type of program. Have a nice day!" << endl;
            }

            else if (userMenuSelection != Quit) {

            cout << "Please enter an integer value for the length of the sides: ";
                cin >> numberA;

したがって、これらの入力を Pentagon クラスに移動/コピーするたびに、たとえば次のようにします。

        void Pentagon::ProcessCommand( ) {

            int numberA; // Length of Sides


            if (userMenuSelection == Quit ){

                cout << "Thank you for using this type of program. Have a nice day!" << endl;
            }

            else if (userMenuSelection != Quit) {

            cout << "Please enter an integer value for the length of the sides: ";
                cin >> numberA;

//              ==============================
                switch ( userMenuSelection ) {

                    case Perimeter:

                        cout << "Perimeter = " << (5 * numberA) << endl;

                        break;

                    case Area:

                        cout << "Area = " << numberA * numberA * sqrt(25.0 + 10.0 * sqrt(5.0)) / 4.0;

                        break;

                    default: cout << "Warning: error state encountered." << endl;

                }
                cout << endl;
              }    
            }

そして、この領域と内容を main(); に出力します。

何か案は?ありがとうございました!

4

1 に答える 1