C ++ Noobie - 我的家庭作业无法解决这个问题。我被卡住了。请帮忙!

时间:2011-02-22 02:36:42

标签: c++

“我似乎无法让这个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。

请帮助!!“

6 个答案:

答案 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;
}