Создание и корректировка файла, содержащего сведения об абитуриентах - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Постановка задачи

Разработать программу создания и корректировки файла, содержащего сведения об абитуриентах, сдавших вступительные экзамены в институт. Каждый элемент этого файла должен содержать следующие данные: фамилию и инициалы абитуриента, специальность, на которую он поступает, полученные оценки по физике, математике и литературе. Предусмотреть создание текстового файла, содержащего информацию об абитуриентах, поступающих на указанную специальность.
Код 322 что означает, кто знает?
Program Prog;
Uses
 Classes, SysUtils;
type Zap=record
  fio: string[25];
  spec: string[25];
  ocfiz: string[1];
  ocmatem: string[1];
  ocliter: string[1];
end;
var f: file of string;
fio1: string; 
reg: integer;
q: Zap;
begin
assign(f,'d:\Proga\abitura.dat');
reset(f);
writeln ('Режим ввода – 1; режим корректировки - 2');
read(reg);
if reg=1 then 
begin
{Режим ввода}
Writeln(‘Режим ввода’);
Rewrite(f);
repeat
  writeln ('Фамилия и инициалы ');
  read(q.fio);
  writeln ('Специальность ');
  read (q.spec);
  writeln ('Оценка по физике ');
  read (q.ocfiz);
  writeln ('Оценка по математике ');
  read (q.ocmatem);
  writeln ('Оценка по литературе ');
  read (q.ocliter);
write(f);
until (q.fio<>’***’);
end;
{Конец режима ввода}
if reg=2 then do
begin
 {Режим корректировки}
 Writeln(‘Режим корректировки’);
  writeln ('Фамилия и инициалы ');
  read(fio1);
 while ((fio1<>’***’) and (not Eof(f))) do
  begin
    read(f);
     if q.fio=fio1 then do
     begin
       writeln(‘Fam ’q.fio,’Spec ’, q.spec,’Fiz ’,q.ocfiz,’Matem ’,q.ocmatem,’Liter ’, q.ocliter);
       write(f);
     end;
   end; {пока не конец файла f & фамилия #***}
end; {Конец режима 2-корректировки}
 
close(f); 
end.
При запуске на выполнение выдает код 322. Что означает, кто знает?

Решение задачи: «Создание и корректировка файла, содержащего сведения об абитуриентах»

textual
Листинг программы
const
  fName='D:\Proga\abitura.dat';
var
  f: file of Zap;
...
begin
  Assign(f,fName);
  {$I-}
  Reset(f); { пробуем открыть }
  if IOResult<>0 then begin
    Rewrite(f); { пробуем создать }
    if IOResult<>0 then begin
      WriteLn('Ошибка: сбой создания файла ',fName);
      Exit;
    end;
  end;
  {$I+}
   ...
   Close(f);
end.

Объяснение кода листинга программы

  1. Объявляется константа fName, которая содержит путь к файлу с данными об абитуриентах.
  2. Объявляется переменная f типа file of Zap, которая будет использоваться для работы с файлом.
  3. Выполняется попытка открыть файл с помощью функции Assign(f, fName).
  4. Если попытка открытия файла не удалась, выполняется попытка создать новый файл с помощью функции Rewrite(f).
  5. Если попытка создания нового файла не удалась, выводится сообщение об ошибке и программа завершается.
  6. Если файл успешно открыт или создан, выполняется основной код программы, который не представлен в данном фрагменте.
  7. После завершения работы с файлом, он закрывается с помощью функции Close(f).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы