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

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

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

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

Разработать программу создания и корректировки файла, содержащего сведения об абитуриентах, сдавших вступительные экзамены в институт. Каждый элемент этого файла должен содержать следующие данные: фамилию и инициалы абитуриента, специальность, на которую он поступает, полученные оценки по физике, математике и литературе. Предусмотреть создание текстового файла, содержащего информацию об абитуриентах, поступающих на указанную специальность.
Код 322 что означает, кто знает?
Листинг программы
  1. Program Prog;
  2. Uses
  3. Classes, SysUtils;
  4. type Zap=record
  5. fio: string[25];
  6. spec: string[25];
  7. ocfiz: string[1];
  8. ocmatem: string[1];
  9. ocliter: string[1];
  10. end;
  11. var f: file of string;
  12. fio1: string;
  13. reg: integer;
  14. q: Zap;
  15. begin
  16. assign(f,'d:\Proga\abitura.dat');
  17. reset(f);
  18. writeln ('Режим ввода – 1; режим корректировки - 2');
  19. read(reg);
  20. if reg=1 then
  21. begin
  22. {Режим ввода}
  23. Writeln(‘Режим ввода’);
  24. Rewrite(f);
  25. repeat
  26. writeln ('Фамилия и инициалы ');
  27. read(q.fio);
  28. writeln ('Специальность ');
  29. read (q.spec);
  30. writeln ('Оценка по физике ');
  31. read (q.ocfiz);
  32. writeln ('Оценка по математике ');
  33. read (q.ocmatem);
  34. writeln ('Оценка по литературе ');
  35. read (q.ocliter);
  36. write(f);
  37. until (q.fio<>’***’);
  38. end;
  39. {Конец режима ввода}
  40. if reg=2 then do
  41. begin
  42. {Режим корректировки}
  43. Writeln(‘Режим корректировки’);
  44. writeln ('Фамилия и инициалы ');
  45. read(fio1);
  46. while ((fio1<>’***’) and (not Eof(f))) do
  47. begin
  48. read(f);
  49. if q.fio=fio1 then do
  50. begin
  51. writeln(‘Fam q.fio,’Spec ’, q.spec,’Fiz ’,q.ocfiz,’Matem ’,q.ocmatem,’Liter ’, q.ocliter);
  52. write(f);
  53. end;
  54. end; {пока не конец файла f & фамилия #***}
  55. end; {Конец режима 2-корректировки}
  56. close(f);
  57. end.
При запуске на выполнение выдает код 322. Что означает, кто знает?

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

textual
Листинг программы
  1. const
  2.   fName='D:\Proga\abitura.dat';
  3. var
  4.   f: file of Zap;
  5. ...
  6. begin
  7.   Assign(f,fName);
  8.   {$I-}
  9.   Reset(f); { пробуем открыть }
  10.   if IOResult<>0 then begin
  11.     Rewrite(f); { пробуем создать }
  12.     if IOResult<>0 then begin
  13.       WriteLn('Ошибка: сбой создания файла ',fName);
  14.       Exit;
  15.     end;
  16.   end;
  17.   {$I+}
  18.    ...
  19.    Close(f);
  20. end.

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

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

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


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

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

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы