С для профессиональных программистов



         

Программа вычерчивания диаграмм. - часть 5


int i;

for (i=0;i<num;i++)

printf(" Введите имя метки: ");

gets(l[i]);

/* Ввод интервала между диаграммами в единицах растра */

get_offset()

int i;

printf(" Введите интервал между диаграммами в единицах растра");

scanf("%d%*c",&i);

return i;

/* Ввод толщины диаграмм в единицах растра */

get_line_size()

int i;

printf("Введите толщину диаграммы в единицах растра : ");

scanf("%d",&i);

return i;

/* Вывод линии нулевого уровня диаграммы */

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 единиц

растра ( в ширину )  */

j += strlen(names[i]) * 8 + 4;

fill_box(192,j,198,j+12,color);

j += 28; /* продвижение к следующему полю вывода */

color ++;

if ( color>3 ) color = 1;

void bargraph(data,num,offset,min,max,width)

double *data;                                     /* массив данных */

int num;                                               /* количество элементов в массиве */




Содержание  Назад  Вперед