Программа выводит только последнего студента, но не всех - Pascal
Формулировка задачи:
День добрый! Помоги разобраться. Написал прогу на паскале для ввода данных студентов и вывода. Выводит только последнего студента но не всех. В чем промах подскажите??
program Project1; {$APPTYPE CONSOLE} uses SysUtils; type stud=record Fam,pol,data:string[10]; end; var f:file of stud; x:stud; i:integer; begin assign(f,'stud.dat'); rewrite(f); for I := 0 to 2 do Begin with x do begin writeln('vved fam'); readln(Fam); writeln('vved pol'); readln(pol); writeln('vved datu'); readln(data); end; End; write(f,x); reset(f); while not eof(f) do begin read(f,x); end; with x do begin writeln('Sp'); writeln('Fam ',Fam); writeln('pol ',pol); writeln('data ',data); end; Close(f); readln; end.
Решение задачи: «Программа выводит только последнего студента, но не всех»
textual
Листинг программы
for I := 0 to 2 do with x do begin write('vved fam'); readln(Fam); write('vved pol'); readln(pol); write('vved datu'); readln(data); write(f,x); end;
Объяснение кода листинга программы
- Инициализируется цикл, в котором переменная
I
проходит значения от 0 до 2. - Выполняется блок команд, используя структуру
with
для объектаx
. - Пользователю выводится запрос на ввод фамилии студента: 'vved fam', и затем ввод полученного значения сохраняется в переменной
Fam
. - Пользователю выводится запрос на ввод пола студента: 'vved pol', и затем ввод полученного значения сохраняется в переменной
pol
. - Пользователю выводится запрос на ввод даты: 'vved datu', и затем ввод полученного значения сохраняется в переменной
data
. - Затем программа выводит значение переменной
f
иx
(здесь предполагается, чтоf
это ошибка и возможно должно быть что-то другое). Однако, данного фрагмента кода недостаточно для вывода всех студентов. Чтобы отобразить всех студентов, необходимо прочитать информацию о каждом студенте и хранить ее в массиве или списке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д