Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записи.doc
Скачиваний:
7
Добавлен:
01.12.2018
Размер:
240.64 Кб
Скачать

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