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



         

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


Функция enter().

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

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

enter(v,entries,sets)

double v[][MAX_ENTRIES]; /*  массив данных */

int *entries; /* количество элементов в каждом наборе данных */

int *sets; /* количество наборов данных */

 

int i,j,count,num;

char s[80];

printf("Введите число наборов данных (от 1 до %d)",MAX_SETS);

scanf("%d%c",&count,&j);

if (count>MAX_SETS) count = MAX_SETS; /* выход за границы

массива */

*sets = count;

printf("Введите количество элементов (от 1 до %d) ",MAX_ENTRIES);

scanf("%d%c",&num,&j);

if (num>MAX_SETS) num = MAX_ENTRIES; /* выход за границы

массива */

*entries = num;

j = 0;

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

while((j<count))

printf("Набор данных %d\n",j+1);

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

printf("%d:",i+1);

gets(s);

sscanf(s,"%lf",&v[j][i]);

j++;

return count;

 

Функция min_max().

Так как функция bargraph() использует максимальное и минимальное значения выводимых данных, то нам потребуется специальная функция для определения этих значений. Необходимо также отметить, что эта функция должна не просто определять минимальное и максимальное значения набора данных, а находить наименьшее минимальное и наибольшее максимальное значения для нескольких наборов данных, что обеспечит соответствие при одновременном построении сразу нескольких диаграмм. Функция min_max(), приведенная здесь, вместе с двумя внутренними функциями удовлетворяет этому требованию.

/* Поиск наименьшего минимума и наибольшего максимума




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