--------------------------------------------- --------------------- */UCH_SCHOOL (struct el_tab tab [], float sum [], int d, int mesto [])
/* вхідні дані: tab []-таблиця даних з файлу
d-кількість учасників олімпіади
sum []-масив містить суму балів усіх учасників
mesto []-масив соднржащій місця всіх учасників */
{
char n = 0;/* номер школи */
int i,/* індекс чергового елемента таблиці */
k = 0,/* проміжна змінна */
x = 0,/* проміжна змінна */
v = 1,/* проміжна змінна */
g = 0;/* індекс чергового елемента масиву school_num */
for (i = 0; i! = d; i + +)
{for (g = dl_num_school-2; tab [i]. school_num [g] == ''; g -);
tab [i]. school_num [g+ 1] = ' 0';
}
do
gets (n);
while (strcmp (n, "") == 0);
for (i = 0; i! = d; i + +)
if (strcmp (tab [i]. school_num, n) == 0)
{
if (x == 0)
{
printf (" n № п.п Прізвище +1 з 2З 3з 4з 5з Сума балів Місце n");
printf ("------------------------------------------- -------- n ");
x = 1;
}
printf ("% s% s% s% .1 f% d n",
tab [i]. num, tab [i]. fam, tab [i]. zad_1, sum [i], mesto [i]);
k + +;
}
if (k == 0 && v == 1) printf ("Учасників з цієї школи немає");
for (i = 0; i! = d; i + +)
{
k = 0;
for (g = 0; g! = dl_num_school; g+ +)
if (strcmp (tab [i]. school_num [g], ' 0') == 0 && k == 0)
{
tab [i]. school_num [g] = '';
k = 1;
}
}
getchar ();
}
/* __________________________________________________________________ */
/* ФУНКЦІЯ ВИВЕДЕННЯ ПЕРЕМОЖЦІВ ОЛІМПІАДИ */
/* --------------------------------------------- --------------------- */POBEDIT (struct el_tab tab [], int d, float sum [], int mesto [])
/* вхідні дані: tab []-таблиця даних з файлу
sum []-масив містить суми балів усіх учасників
mesto []-масив соднржащій місця всіх учасників */
{
int i, n = 1, k = 1, q = 0;
printf (" n n № п/п Прізвище № школи Сума балів Місце n");
printf ("------------------------------------------- ------------- n ");
for (i = 0; i! = d; i + +)
{
tab [i]. num [dl_num-1] = ' 0';
tab [i]. school_num [dl_num_school-1] = ' 0';
}
for (i = 0; i! = d; i + +)
if (mesto [i] == 1 | | mesto [i] == 2 | | mesto [i] == 3)
printf (" n% s% s% s% .1 f% d",
tab [i]. num, tab [i]. fam, tab [i]. school_num, sum [i], mesto [i]);
printf (" n");
getchar ();
}
Додаток 2. Приклад вхідного файлу School.txt
1 Ivanov 3 квітня 5 квітня 5 квітня
2 Sidoro...