Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BP&AL LW 2_2.doc
Скачиваний:
2
Добавлен:
18.08.2019
Размер:
88.06 Кб
Скачать

Лабораторна робота №2.2.

1.Тема. Обробка записів (структур) даних

Постановка завдання:

  • скласти математичну постановку задачі, схему алгоритму та програми Сі для обробки записів (структур даних) згідно з варіантом завдання;

  • в програмі описати тип запису(структуру) для свого завдання (стовбець «Дані») та масив з N записів (структур) цього типу. Розробити набір тестових даних до 10 записів.

  • кожне завдання (варіанти завдань, стовбець «Завдання») описати як окрему підпрограму (процедуру або функцію), передавши масив записів як параметр;

  • вивести на екран дані з масиву в табличному вигляді (оформити як підпрограму з масивом - параметром). Границі таблиці на екрані можна задати символами ‘ * ’ або символами псевдографіки;

  • після виведення таблиці з вхідними даними вивести результати роботи програми;

  • *додати до програми -функції для збереження даних в файл та зчитування даних з файлу , Сі – звичайний текстовий – типізований файл).

Рекомендації до виконання на прикладі опису та обробки даних для списку студентів. По кожному студенту задається прізвище, номер залікової книжки та оцінка з певної дисципліни.

Для того щоб спростити собі процедуру опису змінної – запису, подати необхідні дані у вигляді таблиці:

Прізвище студента

Номер заліков. книжки

Оцінка

Таблиця складається з трьох полів, тобто і запис буде мати три поля. з типом кожного поля в Сі:

Прізвище студента

Номер залікової книжки

Оцінка

char[20]

unsigned int

unsigned short

Найчастіше при роботі з записом описують спочатку тип запису, а потім цей тип використовують при описі змінних.

struct StudentType {

char pib[20];

поле для зберігання прізвища

unsigned int nomer ;

поле з номером заліковки

unsigned short ocinka

поле - оцінка

};

Тепер можна описати змінну:

struct StudentType student;

Для того щоб змінній студент присвоїти значення, необхідно звертатися окремо до кожного поля:

student. pib:=’Іваненко П.П.’;

student. nomer:= 345;

student. оcinka:= 5;

Змінна Student зберігає дані про студента Іваненко П.П., у якого номер заліковки 345, і який отримав оцінку 5.

Використання масиву записів

З використання вище описаного типу можна задати масив записів для збереження даних про студентську групу:

struct StudentType

studentgroup[30];

Для доступу до елементів масиву використовується операція індексування та розкриття запису:

studentgroup [0] . pib :=

‘Андрейченко‘;

studentgroup [0] . nomer := 367;

studentgroup [10] .ocinka := 5;

Якщо проводити, введення елементів масиву, то підійде такий оператор циклу:

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

{

printf(“\nВведіть прізвище студента :”);

scanf(“%s”, &studentgroup [i].pib);

printf(“\n Введіть номер його

заліковки :”);

scanf(“%u”, &studentgroup [i].nomer);

printf(“\n Введіть його оцінку :”);

scanf(“%u”, &studentgroup [i].ocinka);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]