试图在每次输出后使用一个函数摆脱'0',但不确定我可以返回什么

Trying to get rid of the '0' after each output utilizing a function, but unsure of what I could return

本文关键字:返回 什么 我可以 不确定 函数 一个 输出      更新时间:2023-10-16

粘贴代码

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);