我正在编写一个程序,它对一个结构distanceType执行两个操作,该结构由三个整数成员组成:英尺,码和英里。函数convertYards在码中的距离大于或等于1760(因为那里在一英里内是1760码)并将其转换为x英里,y码和z英尺(即distanceType)。我在使用函数参数时遇到问题。 convertYards接受一个整数值并返回distanceType。问题是我不知道如何定义函数。因为它可以接受distance1或distance2(整数值),所以代码的一小部分在下面,带有“???”的区域是我很困惑的。
struct distanceType
{
int miles;
int yards;
int feet;
}
distanceType convertYards(int ???) //Define convertYards
感谢任何帮助。
答案 0 :(得分: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;
}