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;