我正在练习的代码的一部分如下:
void outputBarChart()
{
cout<<"\nOverall grade distribution: "<<endl;
const int frequencySize = 11;
int frequency[frequencySize] = {};
for(int student = 0; student < student; ++student)
for(int test = 0; test < tests; ++test)
++frequency[ (grades[student][test])/10 ];
for(int counter = 0; counter < frequencySize; ++counter)
{
if (counter == 0)
cout<<" 0-9: "<<endl;
else if (counter == 10)
cout<<" 100: "<<endl;
else
{
cout<<counter * 10<<"-"<<(counter*10)+9<<": ";
for (int stars = 0; stars < frequency[counter]; ++stars)
cout<<"*";
cout<<endl;
}
//cout<<endl;
}
}
Run Code Online (Sandbox Code Playgroud)
阵列频率应该在以下行中初始化:
++frequency[ (grades[student][test])/10 ];
Run Code Online (Sandbox Code Playgroud)
但它似乎没有那样工作,因为以下行不运行:
for (int stars = 0; stars < frequency[counter]; ++stars)
cout<<"*";
Run Code Online (Sandbox Code Playgroud)
如何正确初始化频率?
你的for循环被破坏了:
for (int student = 0; student < student; ++student)
Run Code Online (Sandbox Code Playgroud)
我想它应该是:
for (int student = 0; student < students; ++student)
^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |