提问人:user13484657 提问时间:5/7/2020 最后编辑:user13484657 更新时间:5/7/2020 访问量:41
函数未显示数组参数的所需输出
Function isn't displaying the desired output from an array argument
问:
首先,如果有任何遗漏的信息,或者您需要了解更多信息,请告诉我。无论如何,我都不是一个有经验的程序员,这主要是我为大学课程所做的一个项目。
这是我的函数定义:
void DispReport(string names[], int IDs[], int grades[][8], int numStudents, int numClasswork, int numQuizzes) {
此功能的工作是显示学生姓名的完整表及其 ID 号和成绩。开始时,该函数将显示“Name”、“ID”等标头。然后显示一行连续的连字符作为下面的边框。之后,它将开始提取和显示名称、ID 和等级。这是涉及的循环(我意识到有很多重复性,对不起):
int Qmin, Qmax, CWmin, CWmax, Total;
for(i = 0; i < numStudents; i++){
cout << i+1 << ".";
cout << setw(11) << names[i];
cout << setw(11) << IDs[i];
//Display Quizzes, and Qmin ,Qmax, and Qavg
for(j = 0; j < numQuizzes; j++){
cout << setw(11) << grades[i][j];
if(grades[i][j] < grades[i][j+1])
Qmin = grades[i][j];
else
Qmax = grades[i][j];
};
cout << setw(11) << Qmin;
cout << setw(11) << Qmax;
cout << setw(11) << (Qmin + Qmax)/2;
//Display Classwork, and CWmin, CWmax, and CWavg
for(j = numQuizzes; j < (numQuizzes + numClasswork); j++){
cout << setw(11) << grades[i][j];
if(grades[i][j] < grades[i][j+1])
CWmin = grades[i][j];
else
CWmax = grades[i][j];
};
cout << setw(11) << CWmin;
cout << setw(11) << CWmax;
cout << setw(11) << (CWmin + CWmax)/2;
};
但是,运行此循环不会产生任何结果。它运行一次,输出第一行“1.”,暂停一秒钟,然后程序终止。无。我检查以确保该函数实际上已经接收了我传递给它的数组,并且它都在那里。但是,循环不会显示它们,并且我没有收到任何错误消息。有什么想法吗?cout << names[different indexes to check different names]
答: 暂无答案
评论
\n
<< flush
cout
cout << setw(11) << grades[i][j] << flush;