我对C++编程很感兴趣,我一直在研究以下任务:
编写一个函数的定义,该函数以三个数字作为输入。函数返回true 如果第一个数乘以第二个数的幂等于第三个数;否则, 返回false。假设这三个数字是double类型 程序运行并执行,但在完成所有操作后,它只返回0,而不是true或false。请问我哪里错了。先谢谢你。这是我目前的代码:我对C++编程很感兴趣,我一直在研究以下任务:,c++,function,C++,Function,编写一个函数的定义,该函数以三个数字作为输入。函数返回true 如果第一个数乘以第二个数的幂等于第三个数;否则, 返回false。假设这三个数字是double类型 程序运行并执行,但在完成所有操作后,它只返回0,而不是true或false。请问我哪里错了。先谢谢你。这是我目前的代码: #include <iostream> #include <math.h> using namespace std; class powers { private:
#include <iostream>
#include <math.h>
using namespace std;
class powers
{
private:
double num1;
double num2;
double num3;
public:
bool takeInput(double, double, double);
};
int main()
{
powers power;
double a;
double b;
double c;
cout << "please input first number: ";
cin >> a;
cout << "please input second number: ";
cin >> b;
cout << "please input third number: ";
cin >> c;
power.takeInput(a, b, c);
}
bool powers::takeInput (double num1, double num2, double num3)
{
double a;
double b;
double c;
num1 = a;
num2 = b;
num3 = c;
if (pow(a, b) == (c))
return true;
else
return false;
}
在takeInput中从不初始化变量a、b、c。我猜num1=a;应为a=num1;等等还要注意,power类字段num1、num2、num3也没有初始化,并且与takeInput参数同名,这可能会导致更多的混淆。您应该使用m_u前缀命名成员字段,或者使用显式方式访问它们,如->num1。还有,如果你的变量名为x1,x2。。。xn最好改用数组。您的程序本身不会神奇地打印任何内容。要将true或false打印到标准输出,您必须调用函数power.takeInput,如main末尾所示 作为补充说明: powers::takeInput的代码似乎不必要而且复杂。如果最终为变量a、b和c赋值num1、num2和num3,它们的用途是什么?为什么不直接使用这些值? 如果a,则返回true,否则返回false等于返回a。 –实际上,主函数的返回码始终是一个整数,它专门用于指示程序的成功执行。0表示执行成功。
你说程序只返回0是什么意思?你是说状态码,它是成功执行的标志,而不是任何结果的标志吗?要打印真还是假?请阅读。Stackoverflow既不是帮助台,也不是论坛。main不能返回true或false,它返回一个int b。如果你不从main返回任何内容,编译器将添加一个返回0;在你的mainStack结束时,溢出不是一个完成家庭作业的地方。从问题中提取精华。你不会走得太远,只要反复尝试,不断提问。我建议你找一份好的我明白了,谢谢你的帮助,我的错误主要是,打印iut是真是假我应该用cout不客气。如果问题已经解决,您可以单击左侧的绿色勾号接受答案!好的,我会的,再次谢谢。比你,我会记下来的
cout << power.takeInput(a, b, c) ? "true\n" : "false\n";