Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2016, 16:08   #1
iren10.06.1986
 
Регистрация: 07.02.2016
Сообщений: 7
По умолчанию Помогите отредактировать программу

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

Код:
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('Автор:');
   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);
Finded:=False;
while not eof(f) do {читаем пока не конец файла}
begin
read(f,a);{считываем очередную запись}
if (a.autor=au) and (a.year>=1960) then {если она удовлетворяет условию}
begin 
  writeln(a.title);  {выводим название книги}
  Finded:=True;
  {i:=i+1;}   
end;
end;
if Not(Finded) then writeln('Книги не найдены');
close(f);

Writeln('Поиск книги с названием "Информатика":');

reset(f);

while not eof(f) do {читаем пока не конец файла}
begin
  read(f,a);{считываем очередную запись}
  if (a.title='Информатика') then 
    writeln(a.autor,' ',a.title,' ',a.year);
end;
close(f);
readkey;
end.
Как эту прогу провести через кнопочную форму? (как при создании программного обеспечения или БД)



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.04.2016 в 23:19.
iren10.06.1986 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отредактировать программу С++ Regm Помощь студентам 4 14.02.2016 15:13
Отредактировать программу Ghost546457 Помощь студентам 0 11.02.2016 23:26
Отредактировать программу Афанасий[vedma] Фриланс 4 18.05.2012 15:57
Помогите пожалоста отредактировать программу girkoff Общие вопросы C/C++ 4 31.03.2009 04:01
Delphi Работа с файлами. Помогите пожалуйста отредактировать программу)) katia230990 Помощь студентам 10 03.06.2008 17:14