Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:从‘;int*’;至‘;int’;尝试传递数组时 我在C++类中,对于一个项目,我们需要使用数组计算等级,以及在主外至少有3个函数。 到目前为止,我的代码是: #include <iostream> using namespace std; double gradeAverage(double, double, double, double); double letterGrade(double); double arrayAverage(int, int); void droppedQuizzes(int, int); int main(){ int quizGrades[7] = {100, 0, 50, 30, 40, 100, 0}; int testGrades[2] = {50, 54}; int projectGrades[4] = {100, 0, 90, 95}; int labGrades[6] = {100, 100, 0, 50, 60, 100}; int newQuizGrades[5] = {0, 0, 0, 0, 0}; droppedQuizzes(quizGrades, newQuizGrades); double quizAve = arrayAverage(quizGrades, 7); double testAve = arrayAverage(testGrades, 2); double projAve = arrayAverage(projectGrades, 4); double labAve = arrayAverage(labGrades, 6); double gradeAve = gradeAverage(quizAve, testAve, projAve, labAve); char finalGrade = letterGrade (gradeAve); cout << "Final Numeric Average: " << gradeAve << endl << "Letter Grade: " << finalGrade << endl; return 0; } double gradeAverage(double quiz, double test, double proj, double lab){ double quizWeighted = quiz * 0.2; double testWeighted = test * 0.25; double projWeighted = proj * 0.2; double labWeighted = lab * 0.15; double finalWeighted = 0.2; // assuming 100 as the score. return (quizWeighted + testWeighted + projWeighted + labWeighted + finalWeighted); } double LetterGrade(double ave){ if(ave >= 90) return 'A'; else if(ave >= 80) return 'B'; else if(ave >= 70) return 'C'; else if(ave >= 65) return 'D'; else return 'F'; } double arrayAverage(int arr[], int size){ double sum = 0; for(int x = 0; x < size; x++){ sum += arr[x]; } return (sum / size); } void droppedQuizzes(int quizzes[7], int newQuizzes[5]){ int low1 = 100, low2 = 100, count = 0; for(int x = 0; x < 7; x++){ if(quizzes[x] < low2) if(quizzes[x] < low1) low1 = quizzes[x]; else low2 = quizzes[x]; else{ newQuizzes[count] = quizzes[x]; count++; } } }_C++_Arrays_Pointers_Int - Fatal编程技术网

错误:从‘;int*’;至‘;int’;尝试传递数组时 我在C++类中,对于一个项目,我们需要使用数组计算等级,以及在主外至少有3个函数。 到目前为止,我的代码是: #include <iostream> using namespace std; double gradeAverage(double, double, double, double); double letterGrade(double); double arrayAverage(int, int); void droppedQuizzes(int, int); int main(){ int quizGrades[7] = {100, 0, 50, 30, 40, 100, 0}; int testGrades[2] = {50, 54}; int projectGrades[4] = {100, 0, 90, 95}; int labGrades[6] = {100, 100, 0, 50, 60, 100}; int newQuizGrades[5] = {0, 0, 0, 0, 0}; droppedQuizzes(quizGrades, newQuizGrades); double quizAve = arrayAverage(quizGrades, 7); double testAve = arrayAverage(testGrades, 2); double projAve = arrayAverage(projectGrades, 4); double labAve = arrayAverage(labGrades, 6); double gradeAve = gradeAverage(quizAve, testAve, projAve, labAve); char finalGrade = letterGrade (gradeAve); cout << "Final Numeric Average: " << gradeAve << endl << "Letter Grade: " << finalGrade << endl; return 0; } double gradeAverage(double quiz, double test, double proj, double lab){ double quizWeighted = quiz * 0.2; double testWeighted = test * 0.25; double projWeighted = proj * 0.2; double labWeighted = lab * 0.15; double finalWeighted = 0.2; // assuming 100 as the score. return (quizWeighted + testWeighted + projWeighted + labWeighted + finalWeighted); } double LetterGrade(double ave){ if(ave >= 90) return 'A'; else if(ave >= 80) return 'B'; else if(ave >= 70) return 'C'; else if(ave >= 65) return 'D'; else return 'F'; } double arrayAverage(int arr[], int size){ double sum = 0; for(int x = 0; x < size; x++){ sum += arr[x]; } return (sum / size); } void droppedQuizzes(int quizzes[7], int newQuizzes[5]){ int low1 = 100, low2 = 100, count = 0; for(int x = 0; x < 7; x++){ if(quizzes[x] < low2) if(quizzes[x] < low1) low1 = quizzes[x]; else low2 = quizzes[x]; else{ newQuizzes[count] = quizzes[x]; count++; } } }

错误:从‘;int*’;至‘;int’;尝试传递数组时 我在C++类中,对于一个项目,我们需要使用数组计算等级,以及在主外至少有3个函数。 到目前为止,我的代码是: #include <iostream> using namespace std; double gradeAverage(double, double, double, double); double letterGrade(double); double arrayAverage(int, int); void droppedQuizzes(int, int); int main(){ int quizGrades[7] = {100, 0, 50, 30, 40, 100, 0}; int testGrades[2] = {50, 54}; int projectGrades[4] = {100, 0, 90, 95}; int labGrades[6] = {100, 100, 0, 50, 60, 100}; int newQuizGrades[5] = {0, 0, 0, 0, 0}; droppedQuizzes(quizGrades, newQuizGrades); double quizAve = arrayAverage(quizGrades, 7); double testAve = arrayAverage(testGrades, 2); double projAve = arrayAverage(projectGrades, 4); double labAve = arrayAverage(labGrades, 6); double gradeAve = gradeAverage(quizAve, testAve, projAve, labAve); char finalGrade = letterGrade (gradeAve); cout << "Final Numeric Average: " << gradeAve << endl << "Letter Grade: " << finalGrade << endl; return 0; } double gradeAverage(double quiz, double test, double proj, double lab){ double quizWeighted = quiz * 0.2; double testWeighted = test * 0.25; double projWeighted = proj * 0.2; double labWeighted = lab * 0.15; double finalWeighted = 0.2; // assuming 100 as the score. return (quizWeighted + testWeighted + projWeighted + labWeighted + finalWeighted); } double LetterGrade(double ave){ if(ave >= 90) return 'A'; else if(ave >= 80) return 'B'; else if(ave >= 70) return 'C'; else if(ave >= 65) return 'D'; else return 'F'; } double arrayAverage(int arr[], int size){ double sum = 0; for(int x = 0; x < size; x++){ sum += arr[x]; } return (sum / size); } void droppedQuizzes(int quizzes[7], int newQuizzes[5]){ int low1 = 100, low2 = 100, count = 0; for(int x = 0; x < 7; x++){ if(quizzes[x] < low2) if(quizzes[x] < low1) low1 = quizzes[x]; else low2 = quizzes[x]; else{ newQuizzes[count] = quizzes[x]; count++; } } },c++,arrays,pointers,int,C++,Arrays,Pointers,Int,我知道*代表一个指针,但我不明白为什么我不能传递数组,我以前在其他代码中做过 如能提出解决办法,请给予解释。谢谢大家! 函数原型必须指定与函数定义相同的签名。所以这些线: double arrayAverage(int, int); void droppedQuizzes(int, int); 应该是: double arrayAverage(int[], int); void droppedQuizzes(int[], int[]); 您应该创建一个,那么问题可能很明显。程序顶部的函数原型

我知道*代表一个指针,但我不明白为什么我不能传递数组,我以前在其他代码中做过


如能提出解决办法,请给予解释。谢谢大家!

函数原型必须指定与函数定义相同的签名。所以这些线:

double arrayAverage(int, int);
void droppedQuizzes(int, int);
应该是:

double arrayAverage(int[], int);
void droppedQuizzes(int[], int[]);

您应该创建一个,那么问题可能很明显。程序顶部的函数原型与底部的函数定义不匹配。谢谢!虽然我还有一个问题。我的印象是,这只适用于Java,括号必须与变量名相邻。不是这样吗,还是这里发生了其他事情?在原型中,名称是可选的。在定义中需要名称。
double arrayAverage(int[], int);
void droppedQuizzes(int[], int[]);