龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

柱状图表示学生成绩各分数段比率

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
这个程序主要是实现用柱状图形来显示学生各分数段的比率情况,还有些小问题没改正,而且这里的分数我先用随机赋值了,假如要赋值的话该下赋值函数以及改变下程序的结构就可以了

这个程序主要是实现用柱状图形来显示学生各分数段的比率情况,还有些小问题没改正,而且这里的分数我先用随机赋值了,假如要赋值的话该下赋值函数以及改变下程序的结构就可以了.写得不是很好,请大家多多指教.

#define N 20

  #include "stdlib.h"

  #include

  int i,j;

  Funscore(int *score,int *bilv)/*输入N个学生的成绩,我这里先采用随机赋值了*/

  {randomize();

   for(i=0;i

   score[i]=random(101);/*随机赋值*/

   for(i=0;i

   {

   if(score[i]==100)

   bilv[9]++;

   else

   {

   j=(score[i]/10);

   bilv[j-1]++;

   }/*这个是计算比率的数组*/

   }

   gotoxy(1,1);

   for(i=0;i

   printf("%4d",score[i]);

  }

  Drowxy()/*画坐标轴函数*/

  {

   line(50,400,460,400);/*x轴*/

   line(460,400,455,405);

   line(460,400,455,395);

   line(50,400,50,90);/*y轴*/

   line(50,90,45,95);

   line(50,90,55,95);

   for(i=373;i>=100;i-=30)/*x轴具体画图*/

   line(48,i,52,i);

   outtextxy(35,400,"0");

   outtextxy(30,370,"10");

   outtextxy(30,340,"20");

   outtextxy(30,310,"30");

   outtextxy(30,280,"40");

   outtextxy(30,250,"50");

   outtextxy(30,220,"60");

   outtextxy(30,190,"70");

   outtextxy(30,160,"80");

   outtextxy(30,130,"90");

   outtextxy(23,100,"100");

   for(i=90;i<450;i+=40)/*y轴具体画图*/

   line(i,402,i,398);

   outtextxy(60,410,"10");

   outtextxy(100,410,"20");

   outtextxy(140,410,"30");

   outtextxy(180,410,"40");

   outtextxy(220,410,"50");

   outtextxy(260,410,"60");

   outtextxy(300,410,"70");

   outtextxy(340,410,"80");

   outtextxy(380,410,"90");

   outtextxy(420,410,"100");

   outtextxy(470,400,"score");/*坐标内容声明*/

   outtextxy(25,80,"(%)");

  }

  Fundrow(int *bilv)/*画柱状图形*/

  {

   for(i=60,j=0;i<450;i+=40,j++)

   {

   setfillstyle(SOLID_FILL,j+2);

   bar(i,399-300*bilv[j]/N,i+20,399);

   }

  }

   main()

  {int gd=DETECT,gr;

   int score[N],bilv[10]={0};

   initgraph(&gd,&gr,"");

   Funscore(score,bilv);/*输入数据*/

   Drowxy();/*画坐标*/

   Fundrow(bilv);/*具体画柱状图形*/

   getch();

   closegraph();

  }

  

精彩图集

赞助商链接