“我似乎无法让这个C ++程序工作!!我已经尝试了几个小时,而且我没有理解这个概念。这是书中的问题:
“编写C ++函数:
void rect (int& ar, int& per, int len, int wid)
计算长度为len和width wid的矩形的面积ar和周长。使用主程序测试它,输入矩形的长度和宽度并输出其面积和周长。输出主程序中的值,而不是程序中的值。
这是教师指示中的内容:
**#13 from text,pg 83:这个程序要求你使用一个接受main()
矩形长度和宽度的函数,计算面积和周长,并在变量中返回这些值{{ 1}}和ar
。然后,您的per
会显示这些值。变量main()
和ar
必须在per
中声明,然后通过引用方法main()
传递。
这是我到目前为止编写的代码。我坚持通过引用方法rect()来传递变量:
rect()
我知道rect()方法的计算是正确的,因为它正确编译。我无法弄清楚如何从main调用rect()方法。每当我尝试某些东西时,它都会给我一个“函数#include <iostream>
using namespace std;
void rect(int& ar, int& per, int len, int wid)
{
ar = len * wid;
cout << "Area: " << ar << ".";
}
int main ()
{
int ar, per, len, wid;
cout << "Please enter the length of the rectangle: ";
cin >> len;
cout << "Please enter the width of the rectangle: ";
cin >> wid;
return 0;
}
我在OS X上使用JGrasp作为我的IDE。
请帮助!!“
答案 0 :(得分:2)
它应该与
一起使用rect(ar, per, len, width);
你有什么尝试?
答案 1 :(得分:2)
这样称呼:
rect (ar, per, len, wid);
答案 2 :(得分:2)
使用rect (ar, per, len, wid);
进行简单调用应该可以正常工作。您必须提供函数所需的正确数量的参数(四个)。
您还应该添加:
per = 2 * (len + wid);
也可以使用rect
函数,但我认为一旦你解决了这个问题就会出现。
您还应将cout
语句(包括您拥有的语句和将为周边添加的语句)移至main
,因为这是说明请求的内容。
除了那些琐事,干得好!
答案 3 :(得分:0)
你必须在main中调用函数rect之前声明ar和per。
'&安培;'告诉函数不要复制变量,而是使用它。
希望这有帮助
答案 4 :(得分:0)
我忘记将rect()
方法中的所有参数传递给main()
方法:
rect (ar, per, len, wid);
感谢所有的帮助!!这个地方是一个巨大的资源。
答案 5 :(得分:0)
试试这个...
因为你使用rect(int&amp; ar,int&amp; per,...)不需要传递引用,它已经是。
看看这个http://ubuntuforums.org/showthread.php?t=229822
#include <iostream>
using namespace std;
void rect(int& ar, int& per, int len, int wid)
{
ar = len * wid;
per = 2 * (len + wid);
}
int main()
{
int ar, per, len, wid;
cout << "Please enter the length of the rectangle: ";
cin >> len;
cout << "Please enter the width of the rectangle: ";
cin >> wid;
rect(ar, per, len, wid);
cout << "Area: " << ar << ".";
cout << "Perimeter: " << per << ".";
return 0;
}