0

我正在编写一个程序,该程序对由三个整数成员组成的结构 distanceType 执行两个操作:英尺、码和英里。函数 convertYards 以码为单位的距离大于或等于 1760(因为有 1760 码以英里为单位)并将其转换为 x 英里、y 码和 z 英尺(即 distanceType)。我在使用函数参数时遇到问题。convertYards 接受一个整数值并返回一个距离类型。问题是我不确定如何定义函数。由于它可以接受距离1或距离2(整数值),代码的一小部分如下,带有“???”的区域 是我感到困惑的。

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 回答