我正在尝试将米转换为英尺和英尺。英寸。
踢球使得仪表正好分成英尺和英寸。
示例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或我在其他示例中看到的这种转换。
答案 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
它消除了小数。通过第三步,它采用小数部分并将其转换为英寸。