Создание и корректировка файла, содержащего сведения об абитуриентах - Free Pascal
Формулировка задачи:
Постановка задачи
Разработать программу создания и корректировки файла, содержащего сведения об абитуриентах, сдавших вступительные экзамены в институт. Каждый элемент этого файла должен содержать следующие данные: фамилию и инициалы абитуриента, специальность, на которую он поступает, полученные оценки по физике, математике и литературе. Предусмотреть создание текстового файла, содержащего информацию об абитуриентах, поступающих на указанную специальность.
Листинг программы
- 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.
Решение задачи: «Создание и корректировка файла, содержащего сведения об абитуриентах»
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.
Объяснение кода листинга программы
- Объявляется константа fName, которая содержит путь к файлу с данными об абитуриентах.
- Объявляется переменная f типа file of Zap, которая будет использоваться для работы с файлом.
- Выполняется попытка открыть файл с помощью функции Assign(f, fName).
- Если попытка открытия файла не удалась, выполняется попытка создать новый файл с помощью функции Rewrite(f).
- Если попытка создания нового файла не удалась, выводится сообщение об ошибке и программа завершается.
- Если файл успешно открыт или создан, выполняется основной код программы, который не представлен в данном фрагменте.
- После завершения работы с файлом, он закрывается с помощью функции Close(f).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д