-6

私は C++ を初めて使用します。宿題について助けが必要です。これが私がしなければならないことです

フローチャートを開発し、いくつかのユーザー定義関数、オーバーロードされた関数、および参照を使用するメニュー駆動型の C++ プログラムを作成します。

プログラムを実行すると、画面がクリアされ、以下に示すメニューが画面上部の中央に表示されます。以下にメニュー項目を説明します。

最小最大の終了を支援

H または h (ヘルプの場合) オプションは、ヘルプ画面を表示する help() という名前の関数を呼び出します。ヘルプ画面は、ユーザーがプログラムを操作する方法、入力するデータの種類、およびプログラムが生成する結果をガイドする必要があります。各ヘルプ画面は、ユーザーがキーを押すまでモニターに表示されたままにする必要があります。ユーザーの入力が処理されると、画面がクリアされ、メニューが再び表示されます。S または s ( Smallest の場合) オプションは、smallest( ) という名前の関数を呼び出します。この関数は、ユーザーに 2 つの float を入力するように促し、関数 findSmallest() を呼び出します。この関数は、セット内の最小の数値を計算して返します。最小の数値が見つかると、関数 display() が (smallest() 関数から) 呼び出され、以下に示す形式を使用して、入力された数値と最小の数値が表示されます。n1 = xxx.xx、n2 = yy。yy で最小は zzz.zz で、n1 は最初の数字、n2 は 2 番目の数字です。x、y、および z は、実際の数値のプレースホルダーです。小数点以下 2 桁が必要であることに注意してください。

使用する関数プロトタイプは次のとおりです。

void smallest(void);
float findSmallest(float f, float s);
void display(float& f, float& s, float& small);

ここで、f は最初の数値を指し、s は 2 番目の数値を指します。結果は画面に残り、画面の右下隅に次のプロンプトが表示されます: Strike any key to continue... ユーザーがキーを入力すると、画面がクリアされ、メニューが再び表示されます. L または l ( Largest の場合) オプションは、largst( ) という名前の関数を呼び出します。この関数は、ユーザーに 2 つの倍精度浮動小数点数を求めるプロンプトを表示し、関数 findLargestt() を呼び出します。この関数は、セット内の最大数を計算して返します。最大数が見つかると、関数 display() が (largest() 関数から) 呼び出され、入力された数値と最小値が以下に示す形式を使用して表示されます。n1 = xxx.xxxx、n2 = yy.yyyy で、最大は zzz.zzzz です。n1 は最初の数字、n2 は 2 番目の数字です。x、y、および z は、実際の数値のプレースホルダーです。小数点以下 4 桁が必要であることに注意してください。

使用する関数プロトタイプは次のとおりです。

void largest(void);
double findLargest(double f, double s);
void display(double& f, double& s, double& large);

ここで、f は最初の数値を指し、s は 2 番目の数値を指します。結果は画面に残り、画面の右下隅に次のプロンプトが表示されます: Strike any key to continue... ユーザーがキーを入力すると、画面がクリアされ、メニューが再び表示されます. 注: display() はオーバーロードされた関数です。Q または q (Quit) オプションは、画面をクリアし、コントロールを Visual Studio IDE に戻します。

ここに私がこれまでに持っているものがあります.LNK2019とLNK1120のエラーが発生し続けます

#include    <iostream>
#include    <iomanip>
#include    <cstdlib>
using namespace std;



extern  char    menu(void);
    void    smallest(void);
    float   findsmallest(float f, float s);
    void    display (float f, float s, float& small);
    void    largest(void);
    double   findlargest(double f, double s);
    void    display (double f, double s, double& large);

int main(void)
{
     float n1, n2;
     char op;


     while(1)
     {
          op = menu();
          switch(op)
          {
            case 'h' :
            case 'H' :
                    cout << "\t How to Operate Program\n"
                         << "Select any of the menu items\n" 
                         << "h or H for Help\n"
                         << "s or S for Smallest\n"
                         << "Option will find the smallest number of two numbers\n"
                         << "l or L for Largest\n"
                         << "Option will find the largest number of two numbers\n"
                         << "q or Q will terminate program\n";
            case 's' :
            case 'S' :
                    cout << "\n\nPlease input values for n1 and n2,";

                    cin >> n1 >> n2;
                    findsmallest (n1, n2);
                    break;
            case 'l' :
            case 'L' :
                    cout << "\n\nPlease input values for n1 and n2,";

                    cin >> n1 >> n2;
                    findlargest (n1, n2);
                    break;
          }
     }
    return EXIT_SUCCESS;
 }

    extern char menu(void)
    {  
        char menuOption;                                 
        int flag = 1;
        while(flag == 1)
        {  
            cout << "\th. Help\t\ts. Smallest\t\tl. Largest\t\tq. Quit\n\n\t\t\tmake"
                 << " your selection ==> ";
            cin >> menuOption;
            switch(menuOption)
            {
                case 'h' :
                case 'H' :
                case 's' :
                case 'S' :
                case 'l' :
                case 'L' :
                         flag = 0;
                         break;           
                case 'q':
                case 'Q':
                         cout << "\nFinished..." << endl;
                         exit(0);        
                default  :
                         cout << "\n\twrong choice, try again\n\n";            
            }             
        }    

        return menuOption;
    }
4

2 に答える 2