Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.45 KB | None | 0 0
  1. { I. Удалить из внешнего файла все записи, удовлетворяющие условию, заданному в варианте, и распечатать информацию, оставшуюся в файле.
  2.    b) Без использования дополнительного файла. }
  3.  
  4.   Reset(applicantsDoc);
  5.   while not Eof(applicantsDoc) do
  6.   begin
  7.     Read(applicantsDoc, person);
  8.     if (
  9.       (person.USEGrades.Maths = 5) and
  10.       (person.USEGrades.RussianLanguage = 5) and
  11.       (person.USEGrades.Informatics = 5) and
  12.       (person.EntryExamsGrades.Maths = 5) and
  13.       (person.EntryExamsGrades.Informatics = 5)) then
  14.         begin
  15.           pos := Filepos(applicantsDoc);
  16.           for var i := pos to FileSize(applicantsDoc) - 1 do
  17.           begin
  18.             Seek(applicantsDoc, i);
  19.             Read(applicantsDoc, person);
  20.             Seek(applicantsDoc, Filepos(applicantsDoc) - 2);
  21.             Write(applicantsDoc, person);
  22.             Seek(applicantsDoc, Filepos(applicantsDoc) + 1);
  23.           end;
  24.           Seek(applicantsDoc, FileSize(applicantsDoc) - 1);
  25.           Truncate(applicantsDoc);
  26.           Seek(applicantsDoc, 0);
  27.         end;
  28.   end;
  29.   Close(applicantsDoc);
  30.   Writeln('============= Информация об отличниках была удалена ( один файл ) =============');
  31.   Writeln();
  32.   PrintFile(applicantsDoc); { моя процедура вывода }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement