C++ 压缩函数在C++;

C++ 压缩函数在C++;,c++,C++,显然,我应该能够使用布尔逻辑将这六个函数压缩成三个简单的函数,它们有两种方式,但我不知道从哪里开始 void footToMeter(int inputfeet) { double outputMeter = ((inputfeet) / (3.281)); cout << outputMeter; } void meterToFoot(int inputmeter) { double outputFoot = ((inputmeter)*(3.281));

显然,我应该能够使用布尔逻辑将这六个函数压缩成三个简单的函数,它们有两种方式,但我不知道从哪里开始

void footToMeter(int inputfeet) {
    double outputMeter = ((inputfeet) / (3.281));
    cout << outputMeter;
}

void meterToFoot(int inputmeter) {
    double outputFoot = ((inputmeter)*(3.281));
    cout << outputFoot;
}

void CtoF(int inputC) {
    double outputF = 32 + (inputC*(9.0 / 5.0));
    cout << outputF;
}

void FtoC(int inputF) {
    double outputC = (5.0 / 9)*(inputF - 32);
    cout << outputC;
}

void cMtocF(int inputcM) {
    double outputcF = ((inputcM)*(35.315));
    cout << outputcF;
}

void cFtocM(int inputcF) {
    double outputcM = ((inputcF) / (35.315));
    cout << outputcM;
}
void footToMeter(int-inputfeets){
双输出表=((输入英尺)/(3.281));

cout一种方法是为每个函数添加一个额外的参数,以确定要转换的方向

例如:

void lengthConversion(int inputLength, bool toFeet) 
{
double output;
if (toFeet)
    output = inputLength * 3.281;
else
    output = inputLength / 3.281
cout << output;
}
void length转换(int-inputLength,bool-toFeet)
{
双输出;
如果(toFeet)
输出=输入长度*3.281;
其他的
输出=输入长度/3.281

cout将其简化为3个简单的函数。首先尝试将当前函数之间的相似性捆绑起来:

// Put the foot to meter and meter to foot functions into one, with 2 extra boolean values.

void fAndMConversion(int measurement , bool footToMeter , bool meterToFoot) {

   if(footToMeter){
      double fTm = ((measurement) / (3.281));
      cout << fTm;
      }

   if(meterToFoot){
      double mTf = ((measurement)*(3.281));
      cout << mTf;
      }
   }
//将foot-to-meter和meter-to-foot函数合并为一个函数,并附加2个布尔值。
void fandm转换(整数测量、布尔英尺计、布尔英尺计){
if(英尺计){
双fTm=((测量)/(3.281));

通过生成一个泛型转换函数,然后是一个枚举参数,指定它是英尺到米还是相反。@FOR看起来怎么样?(我不确定枚举参数是什么意思…对不起)枚举基本上是您可以定义的一种类型,它可以接受某些值。颜色枚举的外观如下:
enumcolor{red,yellow,green,blue}
。然后,您可以定义一个类型为
color
的变量,它可以是
红色
黄色
绿色
、或
蓝色