粘贴代码
int gradeCalculation(int grade, int topGrade)
{
if (grade >= topGrade - 10)
std::cout << "A" << std::endl;
else if (grade >= topGrade - 20)
std::cout << "B" << std::endl;
else if (grade >= topGrade - 30)
std::cout << "C" << std::endl;
else if (grade >= topGrade - 30)
std::cout << "D" << std::endl;
else
std::cout << "F" << std::endl;
return 0;
}
编程问题我正在解决
每个输出之后都是来自返回的"0"。我曾尝试使用void函数,但我的编译器抛出了一个错误。关于我的代码可能出了什么问题的任何想法。一切都很正常,但就是那个微小的细节。
返回等级对应的char,而不是调用cout << .. endl
(因为这只显示内容,所以不返回值)。因此,当你调用gradeCalculation
时,你会得到字符,并且可以显示它
char gradeCalculation(int grade, int topGrade)
{
if (grade >= topGrade - 10)
return 'A';
else if (grade >= topGrade - 20)
return 'B';
else if (grade >= topGrade - 30)
return 'C';
else if (grade >= topGrade - 30)
return 'D';
else
return 'F';
}
调用std::cout << "Student " << i << " score is " << scoreArray[i] << " and their grade is " << gradeCalculation(scoreArray[i], highestGrade) << std::endl;
意味着gradeCalculation有一个返回值。如果要使gradeCalculation成为一个void函数,则必须将其与std::cout
语句分开调用。
我认为您可以在以下语句中使用该函数cout<lt;梯度计算(int a,int b);相反,只使用等级计算(int a,int b);