C++转换不工作

C++转换不工作,c++,C++,您没有携带将英寸添加到英尺的结果。您没有携带将英寸添加到英尺的结果。这似乎是一种奇怪的方式,改变了实际的输入变量。我会选择: //Calculate function definition, insert formula here: void calculate (double& feet, double& inches) { feet = (feet * 0.3048); inches = (inches * 2.54); } 在任何情况下,即使您对输入和输出使

您没有携带将英寸添加到英尺的结果。

您没有携带将英寸添加到英尺的结果。

这似乎是一种奇怪的方式,改变了实际的输入变量。我会选择:

//Calculate function definition, insert formula here:
void calculate (double& feet, double& inches)
{
     feet = (feet * 0.3048);
  inches = (inches * 2.54);
}
在任何情况下,即使您对输入和输出使用相同的变量,然后应将它们重命名为更合适的形式,也最容易将其转换为单个形式英寸,然后再转换为厘米,然后再转换回m/cm

在您当前的代码中,如果您输入1ft,0in,您将返回0.3048m,0cm,而不是更正确的30.48cm。通过使用此答案中的代码,它将首先转换为12.0英寸,然后从那里转换为30.48厘米,然后转换为0米,30.48厘米


类似地,4.5英尺4英尺6英寸将首先转换为54英寸,然后转换为137.16厘米,然后再转换为1米37.16厘米。

这似乎是一种奇怪的方式,改变了实际的输入变量。我会选择:

//Calculate function definition, insert formula here:
void calculate (double& feet, double& inches)
{
     feet = (feet * 0.3048);
  inches = (inches * 2.54);
}
在任何情况下,即使您对输入和输出使用相同的变量,然后应将它们重命名为更合适的形式,也最容易将其转换为单个形式英寸,然后再转换为厘米,然后再转换回m/cm

在您当前的代码中,如果您输入1ft,0in,您将返回0.3048m,0cm,而不是更正确的30.48cm。通过使用此答案中的代码,它将首先转换为12.0英寸,然后从那里转换为30.48厘米,然后转换为0米,30.48厘米


同样,4.5英尺4英尺6英寸将首先转换为54英寸,然后转换为137.16厘米,然后再转换为1米37.16厘米。

在发布问题时,您需要提供尽可能多的相关信息。在本例中-如何调用该函数?你不工作是什么意思。您会收到什么错误消息?在SO上发布问题时,您需要提供尽可能多的相关信息。在本例中-如何调用该函数?你不工作是什么意思。您收到了什么错误消息?谢谢Paxdiablo的解释。谢谢Paxdiablo的解释。
void calculate (double feet, double inches, double& meters, double& centimeters) {
    double all_inches = feet * 12.0 + inches;
    centimeters = all_inches * 2.54;
    meters = int (centimeters / 100.0);
    centimeters -= (meters * 100.0);
}