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



         

Программа вычерчивания диаграмм.


Вы можете использовать описанные функции для построения программы создания диаграмм. Программа позволяет пользователю вводить количество наборов данных, количество элементов в каждом наборе, наименования и метки соответствующих данных, а также толщину линий и расстояния между диаграммами. После ввода указанных данных программа автоматически вычерчивает диаграмму. Вы также можете написать программу сохранения построенной диаграммы в файле для ее дальнейшего использования.

Главная программа.

Здесь приводится основная функция main(), описывающая алгоритм построения диаграмм и содержащая несколько макросов.

#define MAX_SETS 3

#define MAX_ENTRIES 50

#define MAX_LABELS 20

#define MAX_NAMES 20

main()

double v[MAX_SETS][MAX_ENTRIES]; /* размещение данных */

int num_entries;

int num_sets;

int min,max,i;

int lines,offset;

char save = 0; /* признак сохранения диаграммы */

char names[MAX_NAMES][20];

char lab[MAX_LABELS][20];

/* считывание данных */

enter(v,&num_entries,&num_sets);

/* поиск минимального и максимального значения */

min_max(v,num_entries,num_sets,&min,&max);

/* ввод наименований данных */

get_names(names,num_sets);

/* ввод меток для диаграммы */

get_labels(lab,num_entries);

/* ввод толщины линии */

lines = get_line_size();

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

offset = get_offset();

/* сохранить диаграмму в файле ? */

printf(" сохранить диаграмму в файле ? (y/n) ");

if (tolower(getche()) == 'y') save = 1;

mode(4); /* графический режим 320*200 */

palette(0);

grid(min,max); /* вывод линии нулевого уровня */

hashlines(); /* вывод пунктирных линий */

label(lab,num_entries); /* вывод меток диаграммы */

legend(names,num_sets); /* вывод пояснительных надписей */

/* вывод значений в виде диаграммы */

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

bargraph(v[i],num_entries,i*offset,min,max,lines);

if (save) save_pic();

getch();

mode(3);

Как вы видите, функция main() начинается описанием переменных, значения которых устанавливает пользователь. Массив v определен достаточно большим, чтобы содержать до трех наборов данных до 50 элементов каждый. (Эти размеры являются произвольными и при желании вы можете их изменить.) Затем функция считывает выводимые пользователем в виде диаграмм данные и определяет минимальное и максимальное значение данных. После этого на экран выводятся линия нулевого уровня, пунктирные линии уровня, метки диаграммы и наименование наборов. В завершение вычерчивается сама диаграмма. Перед выходом происходит сохранение диаграммы при помощи функции save_pic(). Давайте рассмотрим некоторые используемые в программе main() функции, которые не входят в описанные выше инструментарии построения диаграмм.




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