void line(),goto_xy(),grid(),label();
void hashlines(),legend(),read_cursor_xy();
void palette(),color_puts(),fill_box();
main()
double widget[] =
10.1,20,30,35.34,50
;
double global[] =
19,20,8.8,30,40
;
double tower[] =
25.25,19,17.4,33,29
;
int min,max;
char n[][20] =
"widget",
"global",
"tower"
;
char lab[][20] =
"1983",
"1984",
"1985",
"1986",
"1987"
;
mode(4); /* выбор режима 320*200 */
palette(0);
grid(0,50); /* построение линии нулевого уровня */
hashlines(); /* вывод пунктирных линий */
label(lab,5); /* вывод чисел */
legend(n,3); /* вывод надписей */
/* вывод курса акций трех кампаний */
bargraph(widget,5,0,0,50,4);
bargraph(global,5,10,0,50,4);
bargraph(tower,5,20,0,50,4);
getch();
mode(3);
/* Вывод линии нулевого уровня диаграммы */
void grid(min,max)
int min,max;
register int t;
goto_xy(22,0); printf("%d",min);
goto_xy(0,0); printf("%d",max);
line(180,10,180,300,1);
/* вывод меток на экран */
void label(str,num)
char str[][20]; /* массив меток */
int num; /* количество меток */
int i,j,inc;
inc = 38/num;
i = 2; /* определение начальной точки */
for (j=0;j<num;j++)
goto_xy(23,i);
printf(str[j]);
i += inc;
/* Вывод пунктирных линий на экран */
void hashlines()
int i,j;
for (i=10;1<180;i+=10)
for (j=10;j<300;j+=5)
mempoint(i,j,3); /* одна точка на каждые 5 единиц
растра */
/* вывод надписи */
void legend(names,num)
char names[][20];
int num; /* количество наименований */
int color = 1,i,j;
goto_xy(24,0); /* надпись производится в последней строке */
j = 0;
for (i=0;i<num;i++)
/* вывод наименования */
printf("%s ",names[i]);
/* определение координаты цветного прямоугольника. В 4
режиме каждому литерному символу отводится 8 единиц
растра ( в ширину ) */