2013-11-28 80 views
-5
#include<iostream> 
using namespace std; 

int sum_average(int a,int b,int c, float & avg); 

void input (int& , int& , int&); 

void display(int sum, float avg); 


int main() 


{ 
    int sum; 

    float avg; 

    int a, b, c; 

    input(a,b,c); 

    sum= sum_average(avg); 

    display(sum , avg); 

    cin.ignore(); 

    return 0; 




} 

void input(int&a , int & b, int &c) 

{ 


cout << "enter the value:"; 

    cin >> a >> b >> c; 

    cin.ignore(); 

    return; 

} 


int sum_average(float & avg) 

{ 

    int a, b, c; 

    int sum = 0; 


    input(a,b,c); 

    sum = a + b + c; 

    avg = (float)sum/3; 

    cin.ignore(); 

    return sum; 

} 

void display(int sum, float avg) 

{ 
    cout << "the sum =" << sum << endl; 

    cout << "the avg =" << avg << endl; 

    cin.ignore(); 

    return; 
} 
+1

'sum_average'聲明有四個參數。你傳遞了一個參數。 – juanchopanza

回答

2

想象一下,你是一個編譯器,你會看到:

int sum_average(int a,int b,int c, float & avg); 

你會告訴自己「我期待一個名爲sum_average函數,有4個參數」。

現在一個程序員來寫sum_average(avg)。這會打破你的心。

你應該向前聲明你的函數是這樣的:

int sum_average(float& avg); 

現在,編譯器會知道什麼是sum_average

+0

輸入函數調用2次,但我想要它一次...我能做些什麼... –

+0

刪除其中一個調用。你在'main'和'sum_average'中調用它,選擇一個。 –

+2

+1對感情的擬人化編譯器。 –