米到英尺和英寸

时间:2014-10-16 22:24:13

标签: c++

我正在尝试将米转换为英尺和英尺。英寸。

踢球使得仪表正好分成英尺和英寸。

示例1.78应等于F 5 IN 10

    meters = 0.3048 * feet;

    centimeters = 2.54 * inches;

or 

const double METERS_PER_FOOT = 0.3048;

const double INCHES_PER_FOOT = 12.0;

我有骨架

cout << "How tall are you in meters? \n";

cin >> meters;


cout << "You're this tall in feet and inches F" << feet << " IN" << inches "\n";

我怎么没有关于如何设置公式以获得正确分割的线索。

我无法使用cMath或我在其他示例中看到的这种转换。

3 个答案:

答案 0 :(得分:3)

这更像是数学问题,而不是编程问题。给定以英尺为单位的长度,从米开始,您需要将脚的小数部分转换为英寸。您可以使用整数转换和模运算来执行此操作:

const double METERS_PER_FOOT = 0.3048;
const double INCHES_PER_FOOT = 12.0;
double heightInMeters = 1.78;
double heightInFeet = heightInMeters / METERS_PER_FOOT;
int feet = (int)heightInFeet;
int inches = (int)((heightInFeet - feet) * INCHES_PER_FOOT + 0.5);

最后一步采用小数部分(heightInFeet - feet),将其乘以一英尺的英寸数来获得英寸数,然后通过添加一半并截断为整数来对其进行舍入。

答案 1 :(得分:1)

#include <math.h>       /* floor */

double myLength = 1.88;
double feet = floor(myLength / 0.3048);
myLength -= feet * 0.3048;
double inches = floor(myLength / 0.0254);

答案 2 :(得分:0)

这可能会更好。我想这更简单。它以米和厘米为输入,然后输出为英尺和英寸。它最初将所有读数转换为米,然后将元素转换为英尺和英寸。

float cms,metr;
metr+=cms/100;
float floatFeet = metr* 3.28084;
int feet = (int)floatFeet;
int inches = (int)((floatFeet - feet) * 12.0 );

cout<<"the length is "<<feet<<"feet"<<inches<<"inch";

首先它将水表转换成浮动的英尺。通过第二步int feet=(int)floatFeet它消除了小数。通过第三步,它采用小数部分并将其转换为英寸。