0

我不知道如何获得英寸,它只适用于脚而不是英寸

这是应该将米转换为英尺到英寸的代码部分

输出示例应为:

输入米数作为双精度数:15

15.00 米的值是 49 英尺和2.55英寸。

//

//METERS_PER_FOOT=0.3048

//INCHES_PER_FOOT=12.0

//makes conversion from metric to English units

void convert(int& feet, double& inches, double meters)

{

  feet=meters/METERS_PER_FOOT;

  inches=feet/INCHES_PER_FOOT; //this line should give me inches

}
4

3 回答 3

2

你需要乘而不是除。

有12英寸/英尺。将英尺除以英寸/英尺得到英尺^2/英寸,这有点奇怪。

你的代码应该读

inches=feet*INCHES_PER_FOOT;

请注意,您有(米)/(米/英尺)但有(英尺)/(英寸/英尺),这就是为什么一个有效而另一个无效的原因。

于 2013-11-12T05:53:10.103 回答
0

对于将来,尝试让它们都具有相同的类型,因为在依赖自动类型转换时可能会失去一些价值。

于 2013-11-12T07:04:52.557 回答
0

如果您希望将米转换为英尺,将米转换为英寸,请使用

feet=meters/METER_PER_FOOT;
inches=feet*INCHES_PER_FOOT; this will convert feet to inches

如果您只想用英尺和英寸来表示米,请使用

feet=floor(meters/METER_PER_FOOT);
inches=floor(meters/INCHES_PER_METER)-feet*INCHES_PER_FOOT;
cout << meters << "Meters=" << feet<<"feet"<<inches<<"inches";
于 2013-11-12T06:03:49.120 回答