⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 al13_4.c

📁 the examples of c codes.it is very easy,but the basic is important
💻 C
字号:
/*案例代码文件名:AL13_4.C*/
/*功能:班级考试等级分布饼状图*/
#include "math.h"
#include "graphics.h"
#define  PI  3.141593
#define  M  10                 			/*全班总人数*/
main()
     	{char s[10];               			/*临时字符串*/
	int score[M]={98,72,82,84,75,78,88,65,14,71};  	/*全班成绩*/
	int grade[5]={0,0,0,0,0};                      		/*成绩等级清零*/
	char *class[5]={"100-90","90-80","80-70","70-60","<60"};
	double x,y,bega,enda,midangle;
	int radius,begangle,endangle;
	int i,gdriver=VGA,gmode=VGAHI;
	for(i=0;i<M;i++)
		grade[score[i]<60?4:(100-score[i])/10]++;  	/*计算各等级人数*/
	initgraph(&gdriver,&gmode,"");
	cleardevice();
	setviewport(10,10,639,479,1);                  	/*设置一个视窗*/
	setcolor(3);
	rectangle(20,20,600,460);                      		/*画一个矩形框*/
	begangle=0;                                    		/*扇形起始角*/
	radius=140;                                    		/*饼图圆半径*/
	for(i=0;i<5;i++)
	    	{endangle=360*grade[i]/M+begangle;      	/*扇形终止角*/
		bega=begangle*PI/180;
		enda=endangle*PI/180;
		midangle=(bega+enda)/2;                	/*扇形中间角*/
		x=300+cos(midangle)*radius*1.2-22;     	/*标注X点坐标*/
		y=240-sin(midangle)*radius*1.2;        	/*标注Y点坐标*/
		sprintf(s,"%.2f%",100.0*grade[i]/M);   	/*将标注内容存入S数组*/
		setcolor(WHITE);
		outtextxy(x,y,s);                      		/*在标注点标注*/
		setfillstyle(1,i+4);                   		/*设置充填格式*/
		pieslice(300,240,begangle,endangle,radius);  	/*画扇形*/
		rectangle(500,75+30*i,530,95+30*i);    	/*画图例框*/
		floodfill(520,85+30*i,WHITE);         	 /*充填图例框*/
		outtextxy(535,80+30*i,class[i]);      	 /*标注图例*/
		begangle=endangle;
	   	}
	getch();
	closegraph();
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -