Очень прошу доделать до конца следующую задачу:Для студентов некоторой группы задана следующая информация: порядковый номер, ФИО, дата рождения, курс, год поступления, и оценки на последней сессии. Составить программу, которая обеспечивает вывод полученной информации, распечатку ее в виде таблицы, а также распечатку ее согласно варианту.
I. Подготовить данные о студентах в виде записи.
II. Разработать программу записи подготовленных данных во внешний файл, вывод исходных данных из файла, добавление данных в файл и обработка данных согласно варианту: Студенты получающие стипендию.

Методические указания:
Использовать меню.
Без файлов, просто Записи (STRING) я составил, а как связать с файлами не умею. Пожалуйста, кому не жалко своего времени напишите код. Спасибо.
uses crt;
type
studlib=record
FIO:string;
Birth_Date:string;
Course:integer;
Year: word;
Marks:Array [1..3] of integer;
Mmark: Real;
end;

var
stud: Array [1..10] of studlib;
i,N: integer;
Procedure Out_Date (std: Studlib);
var j: integer;
begin
with std do
begin
write (FIO);
FOR J:=Length (FIO)+ 1 TO 30 DO WRITE ('');
WRITE (Birth_Date);
write (Course:3);
write (Year:5);
for j:= 1 to 3 do
write (Marks [j]:4);
writeln (Mmark:7:2);
end;
end;
BEGIN
clrscr;
N:=0;
writeln ('Vvodite dannie o studentah');
repeat
Inc(N);
WITH stud[N] do
begin
write ('FIO:');
readln(FIO);
WRITE ('Birth Date (dd.mm.yyyy):');
readln(Birth_Date);
write('Course');
write('Year of entry:');
readln(Year);
Mmark:=0;
for i:=1 to 3 do
begin
write('Mark',i,'=');
readln(Marks[i]);
Mmark:=Mmark+Marks[i]/3;
end;
end;
clrscr;
writeln ('Enter-continue, ESC-quit');
until (readkey=#27) or (N=100);
clrscr;
writeln ('Granted students:');
for i:=1 to N do
if stud[i]. Mmark>=7.0 then
Out_Date(stud[i]);
readkey;
END.