База данных "Библиотека": Осуществить поиск книги по названию - Pascal
Формулировка задачи:
Ребят, помогоите написать программу.
Разработать базу данных книжный магазин, включающую следующие сведения: название книги, автор, год издания, количество экземпляров, цена. Программа должна осуществлять поиск книги по названию.
Решение задачи: «База данных "Библиотека": Осуществить поиск книги по названию»
textual
Листинг программы
type TBook = record name, author: String; year, count: Word; cost: Single; end; TFile = File Of TBook; procedure AddToFile(var f: TFile); var i, n: Byte; temp: TBook; begin {$I-} Reset(f); {$I+} if (IoResult <> 0) then ReWrite(f); Write('How much? '); ReadLn(n); for i := 1 to n do begin with temp do begin WriteLn; Write('Book name: '); ReadLn(name); Write('Author: '); ReadLn(author); Write('Publish year: '); ReadLn(year); Write('Number of copies: '); ReadLn(count); Write('Cost per one book: '); ReadLn(cost); end; Write(f, temp); end; Close(f); end; procedure FindInFile(var f: TFile); var s: String; temp: TBook; isFound: Boolean; begin {$I-} Reset(f); {$I+} if (IoResult <> 0) then begin WriteLn('File not exist! Please, put some info before search'); Exit; end; Write('Book title for search? '); ReadLn(s); isFound := False; while (Not EoF(f)) do begin Read(f, temp); with temp do if (Pos(s, name) > 0) then begin isFound := True; WriteLn(name); WriteLn(#9, author); WriteLn(#9, year, ' y.'); WriteLn(#9, count, ' p.'); WriteLn(#9, cost:0:2, ' r.'); WriteLn('------------------------------------------'); end; end; Close(f); if (Not isFound) then WriteLn('Not found any!'); end; function ShowMenu(): Byte; var Result: Byte; begin repeat WriteLn('1. Add book.'); WriteLn('2. Search by title.'); WriteLn('3. Exit.'); ReadLn(Result); until (Result in [1..3]); ShowMenu := Result; end; var f: TFile; ans: Byte; begin Assign(f, 'f.dat'); repeat ans := ShowMenu(); case ans of 1: AddToFile(f); 2: FindInFile(f); end; until (ans = 3); end.
Объяснение кода листинга программы
- Создается база данных
Библиотека
в виде файла типа TFile. - В процедуре AddToFile считывается информация о книге от пользователя и записывается в файл.
- В процедуре FindInFile считывается информация о книге для поиска из файла.
- Функция ShowMenu позволяет пользователю выбрать действие: добавить книгу или найти книгу по названию.
- В основной программе создается файл
f.dat
, затем пользователь последовательно выбирает действия, которые выполняются в зависимости от выбранного номера. - Программа завершается, когда пользователь выбирает пункт
3. Exit
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д