Дан файл содержащий сведения о книгах (фамилия автора, название, год издания). Найти...

0 голосов
147 просмотров

Дан файл содержащий сведения о книгах (фамилия автора, название, год издания). Найти названия книг данного автора, изданных с 1960 г.


Информатика (65 баллов) | 147 просмотров
Дан 1 ответ
0 голосов
Дан файл библ, содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название и год издания. а) Найти названия книг данного автора, изданных с 1960 года. б) Определить, имеется ли книга с названием “Информатика”. Если да, то сообщить фамилию автора и год издания. Если таких книг несколько, то сообщить имеющееся сведения обо всех этих книгах.

(223 баллов)
0

    uses crt;
Type Book=record     {Запись описывающая книгу}
                autor:string[20]; {Автор}
        title:string[20]; {Заголовок}
        year:word;       {Год}
    end;
cat=file of book; {тип - каталог книг}
Var
 f:cat;
 a:book;
 bibl,au:string;
 y:word;
 {i,j:integer;}
 Finded: Boolean;
Begin
 assign(f, 'bibl.dat');  {связываем файл с именем на носителе}
 rewrite(f);      {открываем файл для записи (создаём новый)}
 writeln('Нажмите esc для выхода');
 repeat{ввод данных}
   write

0

('Автор:');
   readln(a.autor);
   write('Название:');
   readln(a.title);
   write('Год издания:');
   readln(a.year);
   write(f,a);   {пишем структуру в файл}
  until readkey=#27; {пока не нажата клавиша esc (её код = 27)}
  close(f);       {закрываем файл, чтобы сохранить изменения }
  reset (f); {открываем файл для чтения}
write('Введите автора для поиска:');
readln(au);
{i:=0; я бы использовал переменную типа Boolean - меньше места занимает и уместнее}
Finded:=False;
while not eof(f) do