- •Лабораторна робота № 2
- •1. Загальне завдання:
- •2. Порядок виконання лабораторної роботи:
- •4. Індивідуальне завдання
- •5. Теоретичні відомості
- •5.1. Тип даних «Запис»
- •5.2. Робота з типізованими файлами
- •6. Приклад виконання лабораторної роботи
- •Підпрограма LoadFromFile «Завантажити каталог книг з файлу»
- •Підпрограма SaveToFile «Збереження каталогу у файл»
- •Підпрограма SortCatalog «Сортування книг в каталозі за назвою»
- •Підпрограма PrintCatalog «Друк каталогу книг»
- •Підпрограма AddBook «Додавання книги до каталогу»
- •Var size : integer):boolean;
- •Val(s,year,er);
- •Val(s,number,er);
- •If (LoadFromFile(fname,books,n,size)) then
- •If (SaveToFile(fname,books,size)) then
- •If (AddBook(books,n,size)) then
- •Каталог
- •Каталог (сортування по назві)
- •7. Питання для захисту лабораторної роботи:
Val(s,year,er);
until (er=0) and (year>0) and (year<=2008);
repeat {завдання кількості томів}
write('Кiлькiсть томiв =>');
readln(s);
val(s,tom,er);
until (er=0) and (tom>0);
end;
AddBook := True; {Книгу додано до каталогу}
end
else AddBook := False; {Книгу не додано до каталогу}
end;
{Функція Menu призначена для виводу на екран монітора меню та вибору одного з його пунктів.
Вихідні дані: номер пункту меню від 1 до 6}
function Menu:integer;
var
number, {номер пункту меню}
er : integer; {ознака наявності помилки при перетворенні рядка у число}
s : String; {рядок для вводу номера пункту меню}
begin
repeat
clrscr;
writeln('МЕНЮ');
writeln('1. Завантажити каталог з файлу');
writeln('2. Зберегти каталог у файл');
writeln('3. Додати книгу');
writeln('4. Друк каталогу');
writeln('5. Сортування каталогу');
writeln('6. Вихiд');
write('Оберiть пункт меню => ');
readln(s);
Val(s,number,er);
until (er = 0) and (number >= 1) and (number <= 6);
Menu := Number;
end;
var
books : TCatalog; {каталог книг}
size : integer; {кількість книг в каталозі}
punkt : integer; {номер пункту меню}
fname : string; {назва файлу для завантаження та збереження каталогу книг}
begin
size := 0; {спочатку каталог книг пустий}
clrscr;
repeat
Punkt := Menu; {вибір пункту меню}
case Punkt of
1 : begin {Пункт «Завантажити з файлу»}
clrscr;
write('Вкажiть назву файлу =>');
readln(fname);
If (LoadFromFile(fname,books,n,size)) then
writeln('Каталог завантажено з файлу.')
else
writeln('Каталог не завантажено з файлу. Файл не вiдкрито!');
end;
2 : begin {Пункт «Зберегти у файл»}
clrscr;
write('Вкажiть назву файлу =>');
readln(fname);
If (SaveToFile(fname,books,size)) then
writeln('Каталог збережено у файл.')
else
writeln('Каталог не збережено з файлу. Файл не вiдкрито!');
end;
3 : begin {Пункт «Додати книгу»}
clrscr;
If (AddBook(books,n,size)) then
writeln('До каталогу додано нову книгу.')
else
writeln('Каталог повністю заповнений! Додавання книги неможливо.');
end;
4 : begin {Пункт «Друк каталогу»}
clrscr;
writeln('Каталог');
PrintCatalog(books,size);
end;
5 : begin {Пункт «Сортування каталогу»}
clrscr;
SortCatalog(books,size);
writeln('Каталог (сортування по назвi)');
PrintCatalog(books,size);
end;
end;
if (punkt <> 6) then readkey;
until (punkt = 6);
end.
6.4. Приклад виконання програми
МЕНЮ
1. Завантажити каталог з файлу
2. Зберегти каталог у файл
3. Додати книгу
4. Друк каталогу
5. Сортування каталогу
6. Вихід
Оберіть пункт меню => 3
Додавання книги
Назва книги => Удивительные истории
Автори книги => Лина Барт и другие
Жанр книги => познавательный
Рік видання => 2006
Кількість томів => 1
До каталогу додано нову книгу.
МЕНЮ
1. Завантажити каталог з файлу
2. Зберегти каталог у файл
3. Додати книгу
4. Друк каталогу
5. Сортування каталогу
6. Вихід
Оберіть пункт меню => 3
Додавання книги
Назва книги => Основы эксплуатации железных дорог
Автори книги => В.А. Кудрявцев
Жанр книги => учебник
Рік видання => 2005
Кількість томів => 1
До каталогу додано нову книгу.
МЕНЮ
1. Завантажити каталог з файлу
2. Зберегти каталог у файл
3. Додати книгу
4. Друк каталогу
5. Сортування каталогу
6. Вихід
Оберіть пункт меню => 3
Додавання книги
Назва книги => Язык ассебмлера
Автори книги => Питер Абель
Жанр книги => учебник
Рік видання => 1992
Кількість томів => 1
До каталогу додано нову книгу.
МЕНЮ
1. Завантажити каталог з файлу
2. Зберегти каталог у файл
3. Додати книгу
4. Друк каталогу
5. Сортування каталогу
6. Вихід
Оберіть пункт меню => 4