Программа выводит только последнего студента, но не всех - 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это ошибка и возможно должно быть что-то другое). Однако, данного фрагмента кода недостаточно для вывода всех студентов. Чтобы отобразить всех студентов, необходимо прочитать информацию о каждом студенте и хранить ее в массиве или списке.