1.alt program rasgele erişimli dosyalama metodu ile
2.alt program dogrudan erişimli dosyalama metodu ile
YARDIMLARINIZI BEKLİYORUM ARKADAŞLAR
9
●1.534
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 Basnz ...');
tus := readkey ; s:=0;
clrscr;
end;
end;
gotoxy(20,21);write('Listelenecek Kaytlar 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.