首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮小弟我解释下这段代码吧

2012-03-07 
帮我解释下这段代码吧~谁能给我详细解释下这代码,是书里面的搞了好久搞不懂~~voidGradeBook::outputBarCha

帮我解释下这段代码吧~
谁能给我详细解释下这代码,是书里面的搞了好久搞不懂~~


void   GradeBook::outputBarChart()
{
          cout < <   "\nOverall   Grade   distribution:   "   < <   endl;

          const   int   frequencySize   =   11;
          int   frequency[   frequencySize   ]   =   {   0   };

          for(   int   student   =   0;   student   <   students;   student++   )
                    for(   int   test   =   0;   test   <   tests;   test++   )
                              ++frequency[   grades[   student   ]   [   test   ]   /   10   ];


          for(   int   count   =   0;   count   <   frequencySize;   count++   )
          {
                    if(   count   ==   0   )
                              cout < <   "     0-9:   ";
                    else   if(   count   ==   10   )
                              cout < < "       100:   ";
                    else
                    cout < <   count   *   10   < <   "- "   < <   (   count   *   10   )   +   9   < <   ":   ";

                    for(   int   stars   =   0;   stars   <   frequency[   count   ];   stars++   )
                    cout < <   "* ";

                    cout < <   endl;
      }
}

[解决办法]
void GradeBook::outputBarChart()//一个函数
{
cout < < "\nOverall Grade distribution: " < < endl;//输出提示

const int frequencySize = 11;//一个常量
int frequency[ frequencySize ] = { 0 };//一个数组初始化了

for( int student = 0; student < students; student++ )
for( int test = 0; test < tests; test++ )//两层循环
++frequency[ grades[ student ] [ test ] / 10 ];
//二维grades数组里面的值除以10的值对应的数值在0-10之间,然后对应的那个数组元素的值加1


for( int count = 0; count < frequencySize; count++ )//一个循环
{
if( count == 0 )//界面开始输出下边的
cout < < " 0-9: ";
else if( count == 10 )//最后输出下边的
cout < < " 100: ";
else
cout < < count * 10 < < "- " < < ( count * 10 ) + 9 < < ": ";

for( int stars = 0; stars < frequency[ count ]; stars++ )


cout < < "* ";//中间的输出这个

cout < < endl;//换行
}
}

[解决办法]
//二维grades数组里面的值除以10的值对应的数值在0-10之间,然后对应的那个数组元素的值加1
比如 grades[1][2] = 12 12/10 = 1 => a[1] += 1;

热点排行