-8

関数の書き方とパラメータを返す方法を理解するのに助けが必要です。以下の質問とソリューションマニュアルからの回答を書きましたが、非常に混乱していますが、関数の書き方がわかりません:(

これが私が試したことです:

#include <iostream> 
using namespace std; 
char Answer; 

void max(); 

void main () { 
    int max(int num1, int num2) { 
        if (num1 > num2) 
            return num1; 
        else 
            return num2; 
    } 

    print(); 
    system("pause"); 
}
4

1 に答える 1

1

質問にはいくつかの問題があります。あなたが与えた答えには3つのパラメーター(int nb1、nb2、nb3)がありますが、質問には2つあると書かれています。また、これがC ++の場合、各識別子の前にintが必要ですが、これはC ++ですか?また、パラメータが等しい場合(たとえば、max(6、6))に何をするかは指定されていませんが、おそらくこれは重要ではありません。これが私がすることです:

int max(int nb1, int nb2)
{
 if(b1 > b2)//this could be b1 >= b2, I think that's what your solution manual has
    return b1;
 else
    return b2;
}

コメントに応じて編集:

あなたがこれまでにしたことを考えると、これは私が物事を機能させるために変更することです。以下は避けるべきことです

  1. void main()の代わりにint main()とreturn0を使用する必要があります
  2. system( "pause")は使用しないでください。代わりに、ユーザーがEnterキーを押すのを待つことができます。

しかし、上記の2つの懸念なしに頭を動かすのに十分なようです:-)
関数printを使用する必要がありますcout << "text going here" << endl; C ++でプログラミングする場合(Cはprintfを使用します)。入力をハードコーディングしていると思いますので、num1とnum2の値を比較する2つの数値に設定します。

#include <iostream>
using namespace std; 

int max(int nb1, int nb2)
{
        if(nb1 > nb2)
                return nb1;
        else
                return nb2; 
}

void main()
{
        int num1 = 6;//put one number to be compared here
        int num2 = 8;//put second number to be compared here
        int result = max(num1, num2)
        cout << result << endl;
        system("pause"); 
}
于 2012-06-25T22:35:24.333 に答える