2016-12-11 5 views
-1

monthlyAverage()関数の関数呼び出しに問題があります。なぜ機能するために何を渡すべきかわからないためです。関数呼び出しは、私が何かを通過させるされていないため、この機能に問題が関数を介して引数を渡す際に問題が発生しました

// 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

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; 
} 
0

この機能は、1つのdouble引数

double monthlyAverage(double sum); 

をとるだからあなたはあなたのケースでは、それはこの

ように見えているwork.Like

monthlyAverage(100.5); 

するために、二重の値を渡す必要があります

0

赤色にすると2倍になりますので、2倍の値であれば動作します。あなたは、変数でtotalRainfall()関数の値を格納し、変数を渡す、または行うことができますいずれかのように、私は、合計が総雨量を意味これはtotalRainfallによって返された値を使用します

int average = monthlyAverage(totalRainfall(rainfall)); 

のようなものを想定しています関数を呼び出してmonthlyAverageに渡し、結果をint平均に格納します。

0

totalRainfallメソッドプロトタイプが - double totalRainfall(double rainfall[])なので、関数は関数に渡すことができるdoubleの値を返しています。

double total = totalRainfall(rainfall); 
double avg = monthlyAverage(total); 

上記のようにあなたは、変数(この例ではavg)に戻り値を格納することができます。 (?):私はあなたがこのような何か必要になると思い

0

この演習、あなたの状況を見ると、あなたが

monthlyAverage(totalRainfall(rainfall)); 

なぜ書くことを示唆しているように見えますか? totalRainfalldoubleを返し、平均を出力するためにmonthlyAverageに渡すことがわかります。

ところで、あなたのsystem("pause");はあまり移植性がありません。 Say, Apple version is different

+0

3分で5つの答え。私は遅かった。 – Aminopterin

関連する問題