我必须编写一个以英尺和英寸为单位读取长度的程序,并以米和厘米为单位输出等效长度。我必须创建三个函数:一个用于输入,一个或多个用于计算,一个用于输出;并包含一个循环,让用户重复此计算以获得新的输入值,直到用户说他或她想要结束程序。我似乎无法从转换函数中使用的一个函数获取输入,然后由下一个函数输出。我怎么做?谢谢。
#include <iostream>
#include <conio.h>
using namespace std;
double leng;
void length(double leng);
double conv(double leng);
void output(double leng);
int main()
{
length(leng);
conv(leng);
output(leng);
_getche();
return 0;
}
void length(double leng)
{
cout<<"Enter a length in feet, then enter a length in inches if needed: ";
cin>>leng;
return;
}
double conv(double leng)
{
return leng = leng * .3048;
}
void output(double leng)
{
cout<<"Your input is converted to "<<leng;
return;
}
答案 0 :(得分:1)
你有一个全局变量double leng
并且你的函数采用相同名称的参数意味着你甚至不必将参数传递给任何这些函数。
void length();
double conv();
void output();
但正如克里斯所说,我认为你所要做的就是通过引用传递。小心你如何命名你的函数参数和变量,令人困惑的是它们被命名为相同。尝试在全局变量之前添加g
来表示这一点。 gLeng
答案 1 :(得分:0)
你错过了这一点。一英寸不是十分之一英尺。这是1/12。
一英尺12英寸。因此使用撇号使用表达式(即我的身高是6'1)。一英寸= 2.54厘米 一英尺是12英寸。
因此,将高度以英寸存储在合适的数据结构中。
然后转换如下
metric = (length.feet * 12 + length.inches) * 2.54)
这将以厘米为单位进行测量。