0

我必须编写一个程序,读取以英尺和英寸为单位的长度并输出以米和厘米为单位的等效长度。我必须创建三个函数:一个用于输入,一个或多个用于计算,一个用于输出;并包含一个循环,让用户对新的输入值重复此计算,直到用户说他或她想要结束程序。我似乎无法从一个函数中获取要在转换函数中使用的输入,然后由下一个函数输出。我怎么做?谢谢你。

#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;
            }
4

2 回答 2

1

您有一个全局变量double leng并且您的函数采用相同名称的参数这一事实意味着您甚至不必将参数传递给任何这些函数。

void  length();
double  conv();
void  output();

但正如克里斯所提到的,我认为你试图做的是通过引用传递。请注意如何命名函数参数和变量,它们的名称相同会​​令人困惑。尝试g在全局变量之前添加 a 来表示这一点。gLeng

于 2012-10-28T04:55:08.677 回答
0

你错过了重点。一英寸不是十分之一英尺。这是一个 1/12。

12英寸等于一英尺。因此,使用使用撇号的表达式(即我的身高是 6'1)。

一英寸 = 2.54 厘米 一英尺是 12 英寸。

因此,将英制高度存储在合适的数据结构中。

然后转换如下

metric = (length.feet * 12 + length.inches) * 2.54)

这将以厘米为单位给出您的测量值。

于 2012-10-28T08:52:21.657 回答