C++ 错误:类型为‘;双人床’;和‘;双人床’;到二进制‘;操作员%

C++ 错误:类型为‘;双人床’;和‘;双人床’;到二进制‘;操作员%,c++,debugging,double,height,calculator,C++,Debugging,Double,Height,Calculator,我一直在做一个高度预测计算器,但是在编译的时候我遇到了一个错误 #include <iostream> #include <string> using namespace std; int main() { int i = 0; do { double mom; double dad; string boygirl; double fullboy = (mom * 13 / 12 + dad) / 2; double f

我一直在做一个高度预测计算器,但是在编译的时候我遇到了一个错误

#include <iostream>
#include <string>
using namespace std;

int main() {

  int i = 0;
  do {
    double mom;
    double dad;
    string boygirl;
    double fullboy = (mom * 13 / 12 + dad) / 2;
    double fullgirl = (dad + 12 / 13 + mom) / 2;
    double twsub = 12;
    double twsub2 = 12;

    cout << " \n\nWELCOME TO THE C++ HEIGHT PREDICTION PROGRAM";
    cout << "\n\n INPUT GENDER TO BEGIN boy/girl: ";
    cin >> boygirl;

    cout << "How tall is your mother in inches: ";
    cin >> mom;
    cout << "How tall is your father in inches: ";
    cin >> dad;

    if (boygirl == "boy") {
      cout << fullboy % twsub2 << "ft"
           << "is your estimated height";
    }

    else if (boygirl == "girl") {
      cout << fullgirl % twsub << "ft"
           << " is your estimated height";
    }

    ++i;
  } while (i < 10);
}
当它通过以下代码行时会发生:

if (boygirl == "boy") {
    cout << fullboy % twsub2 << "ft" << "is your estimated height";
}
if(boygirl==“boy”){

C++中的CUT< P>可以使用MultOS运算符<代码> %>代码>,只对整数类型如<代码> int >代码>。对于浮点类型,如<代码>双< /代码>,可以使用标准库提供的函数:

std::cout << std::fmod( fullboy, twsub2 ) << "ft is your estimated height";
应该是这样的:

double fullgirl = (dad + 12.0 / 13.0 + mom) / 2.0;
虽然在这一行中,您没有此类问题:

double fullboy = (mom * 13 / 12 + dad) / 2;

作为防止错误的好习惯,最好在任何地方都这样做。这里可以找到详细信息

模运算符仅定义为整数类型,对于浮点,可以使用
fmod()
你能给我一个例子,说明我的代码中的代码是什么样子的吗?我敢打赌你可以删除几乎所有的代码,并且仍然显示问题。
\include
让我们看看它是否有效
double fullgirl = (dad + 12 / 13 + mom) / 2;
double fullgirl = (dad + 12.0 / 13.0 + mom) / 2.0;
double fullboy = (mom * 13 / 12 + dad) / 2;