我是初学者,在将函数调用到程序的主要部分时遇到一些问题。
#include <iostream>
#include<cmath>
int getAbsProd(int a, int b)
{
cout<<"Insert integer: "<<endl;
cin>>a;
cout<<"Insert another integer: "<<endl;
cin>>b;
cout<<"The absolute value of the multiplication is: "<<abs(a*b)<<endl;
return abs(a*b);
}
int main()
{
cout<<getAbsProd();
return 0;
}
我正在使用代码块,无法调用math.h,有人建议调用cmath。
答案 0 :(得分:2)
修改强>
现在,我正在阅读您的代码,您似乎不需要在方法getAbsProd
中设置参数。移除int a
和b
,使其如下所示:
int getAbsProd()
然后你应该好好去!
<强>解释强>
如果要从main
或其他方法调用参数,则需要在方法中使用参数,并且需要从main
提供输入。在您的情况下,您不是自己从代码中提供任何输入,而是在cin
中调用。因此,您不需要在参数中包含(int a, int b)
,而是在方法本身中将其创建为局部变量。
int getAbsProd()
{
int a = 0;
int b = 0;
cout<<"Insert integer: "<<endl;
cin>>a;
cout<<"Insert another integer: "<<endl;
cin>>b;
cout<<"The absolute value of the multiplication is: "<<abs(a*b)<<endl;
return abs(a*b);
}
原始帖子:
您需要为方法提供所需的参数才能计算出值。例如,您的 main
方法应类似于:
int main()
{
cout<<getAbsProd(1, 2); //you need to have an int a, and an int b
return 0;
}
现在,您的函数应计算绝对值1(请记住,这是您为函数提供的int a
)乘以2(您提供的第二个参数)函数,即int b
)。
在这种情况下,您的输出应为2
。
有关更多信息,请查看本教程中有关C ++中的函数:
http://www.cplusplus.com/doc/tutorial/functions/
希望这有帮助。如果还有其他事情,请随时评论: - )
答案 1 :(得分:0)
您的函数getAbsProd
需要2个参数:int a
和int b
。你在没有任何参数的情况下调用它。例如,要为a
和b
传递5,请将其调用为:
int main()
{
cout << getAbsProd(5, 5);
return 0;
}
答案 2 :(得分:0)
我尝试了您的代码并发现错误。
有两种可能的解决方案可以使您的代码正常工作。
解决方案1:声明没有任何参数的getAbsProd()
并在函数
中声明整数a和b等
int getAbsProd() {
int a,b;
cout<<"enter value of a";
cin>>a
.
.
return 0;
}
解决方案2:如果你想声明函数接受参数,那么从用户那里询问main中的数字,然后用&#39; a&#39;来调用函数。和&#39; b&#39;作为参数
int main () {
int a,b;
cout<<"enter value of a";
cin>>a;
cout<<"enter value of b";
cin>>b;
cout<<getAbsProd(a,b);
return 0;
}
进行两项更改,您的代码应该有效。
希望有所帮助, Rakesh Narang