该程序应该使用一个函数将 4 个成绩收集到一个数组中,使用另一个函数对成绩进行平均,并使用另一个函数显示平均成绩和 4 个原始成绩。
4 个等级必须在 0 到 100 之间。
我有这个程序打印出 Grade[2] 只是为了测试它,但它总是输出垃圾。我在这里做错了什么?
此外,如果我尝试调用 getGrades(grade, 5) 而没有“float Grade[5]”行,它会告诉我“grade”是一个未声明的标识符。这使我相信我在编写该函数时做错了。
谢谢
#include <iostream>
using namespace std;
float computeAverage(float exam1, float exam2, float exam3, float exam4)
{
float average;
average = exam1*.2 + exam2*.2 + exam3*.2 + exam4*.4;
return average;
}
void getGrades(float a[], int size)
{
int i;
float num;
for (i=0; i<4; i++)
{
cin >> num;
if (num>=0 && num <=100)
num = a[i];
else
{
cout << "That number is out of range.";
i--;
}
}
}
int main()
{
float grade[5];
getGrades(grade,5);
grade[4] = computeAverage(grade[0], grade[1], grade[2], grade[3]);
cout << grade[2];
return 0;
}