0

フィートとインチの長さを読み取り、メートルとセンチメートルの同等の長さを出力するプログラムを作成する必要があります。3つの関数を作成する必要があります。1つは入力用、1つ以上は計算用、もう1つは出力用です。また、ユーザーがプログラムを終了したいと言うまで、ユーザーが新しい入力値に対してこの計算を繰り返すことができるループを含めます。ある関数から入力を取得して変換関数で使用し、次の関数で出力することができないようです。それ、どうやったら出来るの?ありがとうございました。

#include <iostream>
#include <conio.h>

using namespace std;

double leng;

void  length(double leng);
double  conv(double leng);
void  output(double leng);


int main()
{
    length(leng);
    conv(leng);
    output(leng);

    _getche();
    return 0;
}

void length(double leng)
{
    cout<<"Enter a length in feet, then enter a length in inches if needed: ";
    cin>>leng;
    return;
}

double conv(double leng)
{
    return leng = leng * .3048;
}

void output(double leng)
{
    cout<<"Your input is converted to "<<leng;
    return;
            }
4

2 に答える 2

1

グローバル変数があり、関数が同じ名前の引数を取るという事実はdouble leng、これらの関数に引数を渡す必要さえないことを意味します。

void  length();
double  conv();
void  output();

しかし、クリスが述べたように、あなたがやろうとしていることは参照渡しだと思います。関数のパラメーターと変数に名前を付ける方法に注意してください。同じ名前を付けると混乱します。gこれを示すために、グローバル変数の前に a を追加してみてください。gLeng

于 2012-10-28T04:55:08.677 に答える
0

あなたは要点を逃しています。1インチは10分の1フィートではありません。1/12です。

12インチは足を作ります。したがって、アポストロフィを使用した式を使用します(つまり、私の身長は6'1です)。

1インチ=2.54cm片足は12インチです。

したがって、高さをインペリアルで適切なデータ構造に格納します。

次に、次のように変換します

metric = (length.feet * 12 + length.inches) * 2.54)

それはセンチメートルであなたの測定値を与えるでしょう。

于 2012-10-28T08:52:21.657 に答える