Kodlar aşağıda. Programın çalışması için C sürücüsüne proje.dat diye boş bir dosya oluşturman gerekiyor.

uses crt,printer;
  type
kayit=record
isim:string[30];
soyisim:string;
vnotu,fnotu:byte;
ort:real;
f:char;
  end;
var
dosya:file of kayit;
kay:kayit;
tus:char;
i,s,kod:integer;
ara:string[30];
d:integer;
label
aa;
procedure kayityap;
 begin
 assign(dosya,'c:\proje.DAT');
 reset(dosya);
 kod:=IOresult;
 if kod<>0 then rewrite(dosya);
 repeat
   clrscr;
   write('isim.... : ');
   readln(kay.isim);
   if kay.isim=''then exit;
   write('Soyisim.... : ');
   readln(kay.soyisim);
   write('Vize notu....:');readln(kay.vnotu);
   write('Final notu....:');readln(kay.fnotu);
  kay.ort:=((kay.vnotu*40)/100)+((kay.fnotu*60)/100);
   write('Ortalama....:',kay.ort:2:0);
 writeln('Bilgi dosyaya yazilsin mi? [E/H] ');
      repeat
      tus:=upcase(readkey);
      until tus in ['E','H'];
      if tus='E' then
        begin
        kay.f:='*';
        seek(dosya,filesize(dosya));
        write(dosya,kay);
        end;
 until 1=2;
      end;
procedure arama;
        begin

        assign(dosya,'c:\proje.dat');
        reset(dosya);
        kod:=IOresult;
        if kod<>0 then
             begin
             writeln('dosya yok....' );
             tus:=readkey;
             halt;
             end;
             repeat
             clrscr;
             write('Aradiginiz isim..:');
             readln(ara);
             if ara ='' then exit;
             for i:=0 to filesize(dosya) -1 do
             begin
             seek(dosya,i);
             read(dosya,kay);
          if (kay.f='*') and (kay.isim=ara) then
                 begin
                 clrscr;
                 writeln('isim..... : ',kay.isim);
                 writeln('maas..... : ',kay.soyisim);
                 write('Vize notu....:',kay.vnotu);
                 write('Final notu....:',kay.fnotu);
                 write('Ortalama....:',kay.ort);
                 write('aradiginiz kayit bu mu? [E\H]');
                    repeat
                    tus:=upcase(readkey);
                    until tus in ['E','H'];
                    if tus='E' then exit;
                 end;

            end;

            writeln;
            writeln('aradiginiz kayit yok.. ');
            tus:=readkey;
            until 1=2;
            end;
            procedure listeleme;
var
  s:integer ;
  begin
     assign (Dosya,'C:\proje.dat');
     reset (dosya);kod:=IOResult;
     if kod<>0 then
  begin
  Writeln('Dosya Yok...!');
  tus := Readkey;halt;
  end;
  clrscr;
  writeln('Adi    Soyadi    Vize Notu   Final Notu   Ortalama   ');
  writeln('-----------------------------------------------------');
  window(1,3,80,25);
  s:=0;
  for i:=0 to filesize(dosya)-1 do
      begin
      seek (dosya,i);
      read(dosya,kay);
      if kay.f='*'then
      begin
      s:=s+1;
      gotoxy(1,s);write(kay.isim);
      gotoxy(10,s);write(kay.soyisim);
      gotoxy(19,s);write(kay.vnotu);
      gotoxy(35,s);write(kay.fnotu);
      gotoxy(42,s);write(kay.ort:2:0);
            end;
      if s>18 then
      begin
        gotoxy(20,21);write('Diger Sayfa icin Bir Tusa Basnz ...');
        tus := readkey ; s:=0;
        clrscr;
      end;
      end;
      gotoxy(20,21);write('Listelenecek Kaytlar Bitti..!');
      tus :=readkey; window(1,1,80,25);
      close(dosya);
      end;


 procedure degistirme;
        begin
        assign(dosya,'c:\proje.dat');
        reset(dosya);
        kod:=IOresult;
        if kod<>0 then
             begin
             writeln('dosya yok....' );
             tus:=readkey;
             halt;
             end;
             repeat
             clrscr;
             write('Degistireceginiz isim...:');readln(ara);
             if ara='' then exit;
             for i:=0 to filesize(dosya)-1 do
             begin
             seek(dosya,i);
             read(dosya,kay);
if (kay.f='*') and (kay.isim=ara) then
                 begin
                 clrscr;
                 writeln('isim..... : ',kay.isim);
                 writeln('Soyisim..... : ',kay.soyisim);
                 writeln('Vize notu....:',kay.vnotu);
                 writeln('Final notu...:',kay.fnotu);
                 writeln('Ortalama.....:',kay.ort:2:0);
            write('degistireceginiz kayit bu mu? [E\H]');
                    repeat
                    tus:=upcase(readkey);
                    until tus in ['E','H'];
                    if tus='E' then
                    begin
                    write('yeni isim..... : ');
                    readln(kay.isim);
                 write('yeni soyisim..... : ');
                 readln(kay.soyisim);
                 write('Vize Notu.....:');
                 readln(kay.vnotu);
                 write('Final notu....:');
                 readln(kay.fnotu);
                kay.ort:=((kay.vnotu*40)/100)+((kay.fnotu*60)/100);
                 write('Ortalama....:',kay.ort:2:0);
                 seek(dosya,i);
                 write(dosya,kay);

                 end;
               end;
            end;
        writeln;
            writeln('aradiginiz kayit yok.. ');
            tus:=readkey;
            until 1=2;
            end;
procedure silme;
        begin
        assign(dosya,'c:\proje.dat');
        reset(dosya);
        kod:=IOresult;
        if kod<>0 then
             begin
             writeln('dosya yok....' );
             tus:=readkey;
             halt;
             end;
repeat
        clrscr;
        write('sileceginiz isim : ');
        readln(ara);
        if ara='' then exit;
        for i:=0 to filesize(dosya)-1 do
           begin
           seek(dosya,i);
           read(dosya,kay);
 if (kay.f='*') and (kay.isim=ara) then
                 begin
                 clrscr;
                 writeln('isim..... : ',kay.isim);
                 writeln('Soyisim..... : ',kay.soyisim);
                 writeln('Vize Notu....:',kay.vnotu);
                 writeln('Final Notu...:',kay.fnotu);
                 writeln('Ortalama.....:',kay.ort:2:0) ;
                 write('silinecek kayit bu mu? [E\H]');
repeat
                    tus:=upcase(readkey);
                    until tus in ['E','H'];
                    if tus='E' then
                    begin
                    kay.f:='s';
                    seek(dosya,i);
                 write(dosya,kay);
                 end;
 end;
            end;
            writeln;
            writeln('aradiginiz kayit yok.. ');
            tus:=readkey;
            until 1=2;
            end;


 begin
      aa:
      clrscr;
      writeln('1 kayit girisi ');
      writeln('2 kayit arama ');
      writeln('3 kayit listeleme');
      writeln('4 degistirme');
      writeln('5 silme');
      writeln('6 exit');
      write('seciminiz : ');
      readln(d);
      if d=1 then kayityap;
      if d=2 then arama;
      if d=3 then listeleme;
      if d=4 then degistirme;
      if d=5 then silme;
      if d=6 then exit;

    goto aa;
end.