2013-11-28 82 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对感情的拟人化编译器。 –