?? 例4-23.c
字號:
/* Note:Your choice is C IDE */
#include <stdio.h>
#include <graphics.h>
main()
{
char s[10];
char *categories[]={"1","2","3","4","5","6","7","8","9","10","11","12",
"13","14","15","16","17","18","19","20"};
float a[]={3.9,5.3,7.2,9.6,12.9,17.0,23.2,31.4,39.8,50.2,62.9,76.0,92.0,
105.7,122.8,131.7,150.7,179.3,203.2,211.0};
int i,j,x,n,dx,ddx,y,dy,graphdriver,graphmode;
graphdriver=VGA;
graphmode=VGAHI;
initgraph(&graphdriver,&graphmode,"");
cleardevice();
setviewport(20,20,570,450,1);
setcolor(1);
setbkcolor(7);
n=20;
dx=n;
ddx=0.8*dx; /* 有20個要用條表示的值 */
y=390;
for(i=0;i<=n-1;i++) /* 畫20個條形圖 */
{
x=dx*i+100;
dy=a[i]*1.5;
setfillstyle(1,i);
rectangle(x,y,x+ddx,y-dy); /* 畫條形 */
floodfill(x+1,y-dy+1,1);
}
setcolor(WHITE);
rectangle(80,390,x+ddx+20,15); /* 畫包圍圖形的矩形框 */
j=0;
for(i=108;i<=x+ddx;i=i+20)
{
line(i,390,i,400); /* x坐標 */
outtextxy(i-4,405,categories[j]); /* 標x坐標值 */
j++;
}
sprintf(s,"%d",j);
for(j=0;j<=300;j=j+50)
{
line(70,390-1.5*j,80,390-1.5*j); /* y坐標 */
sprintf(s,"%d",j);
outtextxy(45,390-1.5*j-3,s); /* 標y坐標值 */
}
outtextxy(150,420,"Every year 1990-2000");/* 標x坐標含義 */
settextstyle(0,1,1);
outtextxy(30,40,"Production"); /* 標y坐標含義 */
getch();
closegraph();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -