C++ I';我的代码有问题,因为我可以';我不明白为什么我';我收到一个错误。代码如下: #包括 #包括 #包括 使用名称空间std; void getScore(int&,int&,int&,int&,int&); 无效平均值(双倍); int findLowest(int,int,int,int,int,int); int main() { 整数num1、num2、num3、num4、num5; 字符串响应; 获取分数(num1、num2、num3、num4、num5); 平均值(num1、num2、num3、num4、num5); cout反应; 您是否可以声明: #include <iostream> #include <iomanip> #include <string> using namespace std; void getScore(int &, int &, int &, int &,int &); void calcAverage(double ); int findLowest(int , int , int , int , int ); int main() { int num1, num2, num3, num4, num5; string response; getScore(num1, num2, num3, num4, num5); calcAverage(num1, num2, num3, num4, num5); cout << "Are there any more test scores?" << endl; cin >> response; cout << endl; if (response == "yes") { getScore(num1, num2, num3, num4, num5); calcAverage(num1, num2, num3, num4, num5); } system("pause"); return 0; } void getScore(int &num1, int &num2, int &num3, int &num4, int &num5) { cout << "What was your score for the first test?" << endl; cin >> num1; cout << endl; if (num1 < 1 || num1 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the second test?" << endl; cin >> num2; cout << endl; if(num2 < 1 || num2 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the third test?" << endl; cin >> num3; cout << endl; if(num3 < 1 || num3 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the fourth test?" << endl; cin >> num4; cout << endl; if(num4 < 1 || num4 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the fifth test?" << endl; cin >> num5; cout << endl; if(num5 < 1 || num5 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } } int findLowest(int num1, int num2, int num3, int num4, int num5) { int lowest; lowest = num1; if (num2 < lowest) { lowest = num2; } else if (num3 < lowest) { lowest = num3; } else if (num4 < lowest) { lowest = num4; } else if (num5 < lowest) { lowest = num5; } cout << "the lowest test score is " << lowest << endl; return lowest; } void calcAverage(int num1, int num2, int num3, int num4, int num5) { int findLowest(int, int, int, int, int); int lowest; double average; findLowest(num1, num2, num3, num4, num5); cout << lowest << endl; average = (((float)num1 + num2 + num3 + num4 + num5) - lowest) / 4.0; cout << showpoint << setprecision(8) << average << endl; }

C++ I';我的代码有问题,因为我可以';我不明白为什么我';我收到一个错误。代码如下: #包括 #包括 #包括 使用名称空间std; void getScore(int&,int&,int&,int&,int&); 无效平均值(双倍); int findLowest(int,int,int,int,int,int); int main() { 整数num1、num2、num3、num4、num5; 字符串响应; 获取分数(num1、num2、num3、num4、num5); 平均值(num1、num2、num3、num4、num5); cout反应; 您是否可以声明: #include <iostream> #include <iomanip> #include <string> using namespace std; void getScore(int &, int &, int &, int &,int &); void calcAverage(double ); int findLowest(int , int , int , int , int ); int main() { int num1, num2, num3, num4, num5; string response; getScore(num1, num2, num3, num4, num5); calcAverage(num1, num2, num3, num4, num5); cout << "Are there any more test scores?" << endl; cin >> response; cout << endl; if (response == "yes") { getScore(num1, num2, num3, num4, num5); calcAverage(num1, num2, num3, num4, num5); } system("pause"); return 0; } void getScore(int &num1, int &num2, int &num3, int &num4, int &num5) { cout << "What was your score for the first test?" << endl; cin >> num1; cout << endl; if (num1 < 1 || num1 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the second test?" << endl; cin >> num2; cout << endl; if(num2 < 1 || num2 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the third test?" << endl; cin >> num3; cout << endl; if(num3 < 1 || num3 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the fourth test?" << endl; cin >> num4; cout << endl; if(num4 < 1 || num4 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } cout << "What was your score for the fifth test?" << endl; cin >> num5; cout << endl; if(num5 < 1 || num5 > 100) { cout<<"Scores must be between 1 and 100, re-enter the score" << endl; cin >> num1; } } int findLowest(int num1, int num2, int num3, int num4, int num5) { int lowest; lowest = num1; if (num2 < lowest) { lowest = num2; } else if (num3 < lowest) { lowest = num3; } else if (num4 < lowest) { lowest = num4; } else if (num5 < lowest) { lowest = num5; } cout << "the lowest test score is " << lowest << endl; return lowest; } void calcAverage(int num1, int num2, int num3, int num4, int num5) { int findLowest(int, int, int, int, int); int lowest; double average; findLowest(num1, num2, num3, num4, num5); cout << lowest << endl; average = (((float)num1 + num2 + num3 + num4 + num5) - lowest) / 4.0; cout << showpoint << setprecision(8) << average << endl; },c++,visual-c++,arguments,C++,Visual C++,Arguments,而不是: void calcAverage(double ); 你对编译器说:“我要做一个名为CalAverage的函数,它将接受1个参数”,然后实现一个名为CalAverage的函数,它接受5个参数,所以他抛出了一个错误 void calcAverage(int num1, int num2, int num3, int num4, int num5) 在这里,您声明您的函数calAverage接受一个类型为double的参数,但随后尝试调用它,如下所示: void calcAverage

而不是:

void calcAverage(double );
你对编译器说:“我要做一个名为CalAverage的函数,它将接受1个参数”,然后实现一个名为CalAverage的函数,它接受5个参数,所以他抛出了一个错误

void calcAverage(int num1, int num2, int num3, int num4, int num5)
在这里,您声明您的函数
calAverage
接受一个类型为
double
的参数,但随后尝试调用它,如下所示:

void calcAverage(double );

文件底部的函数定义是5个整数,就像C++一样,C++编译器会从上到下扫描文件。这意味着当它到达你试图调用<代码> CalcAudio/<代码>的5个参数时,只看到文件顶部的函数声明,只使用一个A.辩论,它甚至还没有看到它的定义

要解决此问题,只需更改声明以采用与定义相同的参数:

calcAverage(num1, num2, num3, num4, num5);
致:


在文件的顶部。

您的函数声明只接受1个
参数。它优先于函数定义。请将您的函数声明修复为CalAverage,以接受5个
int
参数,这样您就可以了。
void calcAverage(double );
void calcAverage(int num1, int num2, int num3, int num4, int num5);