将功能插入主要部分

时间:2016-01-10 16:27:38

标签: c++ function

我是初学者,在将函数调用到程序的主要部分时遇到一些问题。

#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。

3 个答案:

答案 0 :(得分:2)

修改

现在,我正在阅读您的代码,您似乎不需要在方法getAbsProd中设置参数。移除int ab,使其如下所示:

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 aint b。你在没有任何参数的情况下调用它。例如,要为ab传递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