Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторн_робот_Ч2.doc
Скачиваний:
19
Добавлен:
03.11.2018
Размер:
2.12 Mб
Скачать

If (!strcmp(mm[n].Name,"***")) break;

scanf("%s",&mm[n].sc);

scanf("%d",&mm[n].cnt);

/* Увага! Ми обходимо помилку в системі програмування */

scanf("%f",&sqx); mm[n].sq=sqx;

}

/* Вивід таблиці */

printf("---------------------------------------------\n");

printf("|Буддистські монастирі Японії перiоду Нара |\n");

printf("|--------------------------------------------|\n");

printf("| Назва | Школа |Кількість| Площа |\n");

printf("| | | монахів | земель(га) |\n");

printf("|-----------|-------|----------|-------------|\n");

/* вивід стрічок фактичних даних */

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

printf("| %9s | %c | %3d | %-5.1f |\n",

mm[i].name,mm[i].sc,mm[i].cnt,mm[i].sq);

printf("---------------------------------------------\n");

/* сортування масиву */

for (i=0; i<n-1; i++) {

m=i; /* мінімальний єлемент - перший */

for (j=i+1; j<n; j++)

/* якщо поточний елемент > мінімального,

він стає мінімальним */

if (strcmp(mm[m].name,mm[j].name)>0) m=j;

if (m>i) {

/* перестановка першого і мінімального елементів */

strcpy(x.name,mm[i].name); x.sc=mm[i].sc;

x.cnt=mm[i].cnt; x.sq=mm[i].sq;

strcpy(mm[i].name,mm[m].name); mm[i].sc=mm[m].sc;

mm[i].cnt=mm[m].cnt; mm[i].sq=mm[m].sq;

strcpy(mm[m].name,x.name); mm[m].sc=x.sc;

mm[m].cnt=x.cnt; mm[m].sq=x.sq;

}

}

/* Вивід таблиці */

printf("---------------------------------------------\n");

printf("|Буддистські монастирі Японії перiоду Нара |\n");

printf("|--------------------------------------------|\n");

printf("| Назва | Школа |Кількість| Площа |\n");

printf("| | | монахів | земель(га) |\n");

printf("|-----------|-------|----------|-------------|\n");

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

printf("| %9s | %c | %3d | %-5.1f |\n",

mm[i].name,mm[i].sc,mm[i].cnt,mm[i].sq);

printf("---------------------------------------------\n");

return 0;

}

    1. Налагодження програми

При налагоджені програми можна використовувати покроковий режим з дослідженням значень змінних - тих, що вводяться. Якщо виникають проблеми з вводом змінних, то потрібно вводити кожну змінну окремим оператором.

Самим складним може бути налагодження тієї частини програми, яка виконує сортування масиву. Перегляд всього масиву структур засобами налагодження системи програмування хоча і можливий, але може бути і достатньо громіздкий. Тому краще при помилках в цій частині програми вставити проміжні виводи - наприклад, виводити всю таблицю після кожного циклу сортування. В покроковому режимі можна спостерігати значення знайденого мінімуму в кожному циклі.

3.5 Результати роботи програми

При роботі програми на екран було виведено наступне:

1. Введіть: назву, школу, кількість, площа > Тодайдзі Т

220 368.8

2. Введіть: назву, школу, кількість, площа > Якусідзі С

50 54.7

3. Введіть: назву, школу, кількість, площа > Дайаєдзі Д

10 12.2

Буддистські монастирі Японії періоду Нара

Назва

Школа

Кількість монахів

Площа земель (га)

Тодайдзі

Якусідзі

Дайєдзі

Т

С

Д

220

50

10

36.8

54.7

12.2