0

フィート、ヤード、マイルの3つの整数メンバーで構成される構造distanceTypeに対して2つの操作を実行するプログラムを作成しています。関数convertYardsは、1760以上の距離をヤード単位で取得します(1760ヤードがあるため)。マイル単位)で、xマイル、yヤード、zフィート(つまりdistanceType)に変換します。関数パラメーターに問題があります。convertYardsは1つの整数値を受け取り、distanceTypeを返します。問題は、関数を定義する方法がわからないことです。distance1またはdistance2(整数値)のいずれかを受け入れることができるため、コードのごく一部、つまり「???」のある領域が下にあります。私が混乱しているのはそれです。

struct distanceType
{
  int miles;
  int yards;
  int feet;
}

distanceType convertYards(int ???)  //Define convertYards

どんな助けでもありがたいです、ありがとう。

4

1 に答える 1

1

したがって、コンパイルされていない次のコードのようなものは、いくつかの変更が必要になる可能性がありますが、本質をキャプチャする必要があります。

struct distanceType
{
  int miles;
  int yards;
  int feet;
}

distanceType convertYards(int nYards)
{
    distanceType distance;

    distance.miles = nYards / 1760;
    distance.yards = nYards - distance.miles * 1760;
    distance.feet = 0;   // since value is integer number of yards, feet is always zero
    return distance;
}

この関数は次のように使用されます。

int main ()
{
   distanceType dt1, dt2;
   int          y1 = 3500, y2 = 5700;

   dt1 = convertYards (y1);
   dt2 = convertYards (y2);

   printf (" %d yards = %d miles, %d yards, and %d feet", y1, dt1.miles, dt1.yards, dt1.feet);
   printf (" %d yards = %d miles, %d yards, and %d feet", y2, dt2.miles, dt2.yards, dt2.feet);
   return 0;
}
于 2012-11-13T20:38:51.553 に答える