使用monthAverage()函数的函数调用时遇到问题,因为我不知道要传递什么才能使它工作。
// Zachary Fernandez
// Term Project Part II
// TP21_rainfall_statisitcs.cpp
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
void userInput(double rainfall[]);
double totalRainfall(double rainfall[]);
double monthlyAverage(double sum);
int main()
{
double rainfall[12];
cout << "Please enter the rainfall of each month of the year\n";
cout << "seperated by a space.\n";
userInput(rainfall);
totalRainfall(rainfall);
monthlyAverage();
system("pause");
return 0;
}
void userInput(double rainfall[])
{
for (int i = 0; i < 12; i++)
{
cin >> rainfall[i];
}
}
double totalRainfall(double rainfall[])
{
double sum = 0;
for (int i = 0; i < 12; i++)
{
sum += rainfall[i];
}
cout << "The total amount of rainfall for the year is: ";
cout << sum;
cout << endl;
return sum;
}
这个函数有问题因为函数调用不允许我传递任何东西。我也不知道要通过什么才能使它发挥作用。
double monthlyAverage(double sum)
{
double average;
average = (sum / 12);
cout << "The average monthly rain fall is: ";
cout << average;
cout << endl;
return average;
}
答案 0 :(得分:0)
此函数需要一个双参数
double monthlyAverage(double sum);
所以你必须传递一个double值才能工作。喜欢
monthlyAverage(100.5);
在你的情况下它看起来像这样
monthlyAverage(totalRainfall(rainfall));
答案 1 :(得分:0)
嗯,你声明它接受一个双倍,所以任何双重值都可以。我假设sum表示总降雨量,因此您可以将totalRainfall()函数的值存储在变量中,然后传递变量,或者执行类似
的操作int average = monthlyAverage(totalRainfall(rainfall));
这将使用totalRainfall函数返回的值并将其传递给monthlyAverage,然后将结果存储到int average。
答案 2 :(得分:0)
由于您的totalRainfall
方法原型是 - double totalRainfall(double rainfall[])
,这意味着该函数返回double
值,您可以将其传递给monthlyAverage
函数。
double total = totalRainfall(rainfall);
double avg = monthlyAverage(total);
您可以将返回值存储在变量(示例中为avg
)中,如上所示。
答案 3 :(得分:0)
我认为你需要这样的东西:
int main()
{
double rainfall[12];
cout << "Please enter the rainfall of each month of the year\n";
cout << "seperated by a space.\n";
userInput(rainfall);
double total = totalRainfall(rainfall);
double avg = monthlyAverage(total);
cout << "Monthly Average:" << avg << endl;
system("pause");
return 0;
}
答案 4 :(得分:0)
观察你的背景,这个练习(?)似乎建议你写
monthlyAverage(totalRainfall(rainfall));
为什么呢?您看到totalRainfall
返回double
,并传递给monthlyAverage
以输出平均值。
顺便说一句,你的system("pause");
不是很便携。
Say, Apple version is different