Üye ol
Şifremi unuttum | Onay kodum gelmedi
Yardım

Turbo Pascal ile Yapılmış Kütüphane Takip Programı
sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 10 Şubat 2010 22:26:14

İçindekiler
1. Programın Tanıtımı
2. Akış Diyagramında Kullanılan Semboller
3. Programın Algoritma Akış Diyagramı
4. Pascal Kodları


1. Programın Tanıtımı

Kütüphane Takip Programı pascal dilinde yazılmış, DOS ortamında çalışan kütüphanelerin işlerini bilgisayar ortamında yapmaları için tasarlanmış bir yazılımdır. Program sayesinde öğrenci ve kitap takibatı kolay bir şekilde yapılabilir.

Programın Çalışabilmesi için tavsiye edilen sistem konfigürasyonu:
* En az 300 MHZ hızında işlemci.
* En az 4MB RAM Bellek
* En az 1MB sabit disk alanı (Kayıt sayısına göre artabilir. )
* Renkli monitör

Program açıldığında Ana Menü açılır. Buradan programın alt bölümlerine geçiş sağlanır. Seçenekler arasında ok tuşları ile gezilebilir. Menüler yumuşak geçiş efektleri ile süslenmiştir ve sesli bildirimler yapılmaktadır.
ana.png

ESC tuşuna basılarak programdan çıkılabilir. ESC tuşuna basıldığında gerçekten çıkıp çıkılmayacağı sorusu ekrana çıkar. Bunun amacı yalışlıkla ESC tuşuna basıldığında programdan çıkışı önlemektir. Çünkü ESC aynı zamanda alt menülerden çıkışı da sağlar. Kullanıcı yanlışlıkla 2 defa ESC tuşuna basarsa bu mesajla karşılaşır. esc.png

Kayıt Ekle bölümünde 2 adet seçenek çıkar. Bu seçenekler sayesinde Kitap ve Öğrenci kaydı yapılabilir.
ekle.png

Kitap Ekle bölümünde kitabın özellikleri yazılarak kayıt işlemi yapılır.
ekle1.png

Öğrenci Ekle bölümünde öğrencinin bilgileri girilerek kayıt işlemi yapılır.

Kayıt Sil bölümünde kitap ve öğrenci kaydı silme işlemleri yapılabilir. Silinecek kitabın veya öğrencinin numarası yazılır. Çıkan kaydın silinecek kayıt olup olmadığına bakılır. Duruma göre “Evet” veya “Hayır” seçeneği seçilerek işlem yapılır.
sil.png

Kitap Sil Bölümü
sli1.png

Öğrenci Sil Bölümü
sli2.png

Kayıt Düzelt bölümünde daha önce eklenmiş bir öğrenci veya kitap kaydı düzeltilebilir. Düzeltilecek kaydın numarası girilir. Ekrana gelen kaydın düzeltilecek kayıt olup olmadığına bakılır. Eğer düzeltilecekse “Evet” deyip yeni değerler girilir.
duzelt.png

Kitap Düzelt Bölümü
duzelt1.png

Öğrenci Düzelt Bölümü
duzelt2.png

Listeler bölümünde kitap ve öğrenci listelerine ulaşılabilir. Görüntülenmek istenilen liste seçilir ve liste ekrana gelir. Eğer liste ekrana sığmayacak kadar uzunsa ok tuşu ile kaydırma yapılabilir.
liste.png

Kitap Listesi’nde kitaplar ve kitabı alan öğrencinin ismi görüntülenir. Eğer kitabı hiç kimse almadıysa “Kütüphanede” olarak belirtilir.
liste1.png

Öğrenci Listesi’nde öğrenciler listelenir ve öğrencinin elindeki kitap burada belirtilir. “Top. Kitap S.” Alanında öğrencinin şimdiye kadar aldığı toplam kitap sayısı gösterilir.
liste2.png

Kitap Ver – Al bölümünde öğrenciye kitap verilebilir veya öğrenciden kitap teslim alınabilir.
kitap.png

Kitap Ver bölümünde kütüphanede daha önceden başkası tarafından alınmamış bir kitap, elinde hiç kitap olmaya bir öğrenciye verilebilir. Eğer verilmek istenen kitap başkası tarafından alınmışsa veya öğrencinin elinde henüz teslim etmediği bir kitap varsa hata mesajı çıkarılır ver işlem yapılmaz.
kitap1.png

Kitap Teslim Al bölümünde öğrenciden daha önce kütüphaneden aldığı bir kitap teslim alınabilir. Kitap teslim edecek öğrencinin numarası girilir ve program teslim edilmesi gereken kitabın adını gösterir.
kitap2.png

Kayıt Ara bölümünde kitap veya öğrenci araması yapılabilir.
ara.png

Kitap Ara bölümünde herhangi bir kritere göre kitap araması yapılabilir.

Öğrenci Ara bölümünde herhangi bir kritere göre arama yapılabilir.

Bilgi Kurtar bölümünde silinmiş bir kayıt kurtarılabilir. Kitap veya öğrenci kurtarma bölümüne girildiğinde daha önce silinmiş ancak kurtarılabilecek düzeydeki kayıtlar listelenir. Eğer silinen bir kaydın üzerine başka bir kayıt gelmediyse bu listede görünecektir.
kurtar.png

Kitap Kaydı Kurtar bölümüne girildiğinde kurtalabilecek kayıtlar listelenir. Kurtarılmak istenilen kaydın numarası girilerek işlem yapılır.
kurtar1.png

Öğrenci Kaydı Kurtar bölümüne girildiğinde kurtalabilecek kayıtlar listelenir. Kurtarılmak istenilen kaydın numarası girilerek işlem yapılır.
kurtar2.png


Anahtar kelimeler:


sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 10 Şubat 2010 22:44:02 | # 1
2. Akış Diyagramında Kullanılan Semboller
akis-diyagrami-sembolleri.gif

sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 10 Şubat 2010 22:54:34 | # 2
3. Programın Algoritma Akış Diyagramı
İhtiyacı olan aşağıya yazsın.

sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 10 Şubat 2010 23:48:43 | # 3
4. Pascal Kodları
[/COLOR] crt;

type
kitapTip=Record
ad:string[100];
yazar:string[100];
yayinevi:string[100];
yayintarihi:string[100];
alindi:boolean;
alanKisi:0..100000;
kayitDolu:boolean;
end;
ogrenciTip=Record
no:0..100000;
ad:string[100];
fakulte:string[100];
bolum:string[100];
tel:string[12];
elindekiKitap:0..100000;
aldigiKitapSayisi:0..100000;
kayitDolu:boolean;
end;
secenekTip=array[1..10] of string[30];

var
kitapDosya:file of kitapTip;
kitap:kitapTip;
ogrenciDosya:file of ogrenciTip;
ogrenci:ogrenciTip;

secenek:0..10;
secenekler:secenekTip;
dogrulama:char;
i,j:integer;
kitapNo:0..100000;
ogrenciNo:0..100000;
hata:boolean;

procedure ot(frekans:integer;sure:integer);
begin
sound(frekans);delay(sure);nosound;
end;
procedure yan (yazi:string;d:integer);
var x,y:integer;
begin
ot(300,10);
x:=wherex;y:=wherey;
textbackground(0);
textcolor(8);
lowvideo;
gotoxy(x,y);write (yazi);
delay(d);
highvideo;
gotoxy(x,y);write (yazi);
delay(d);;textcolor(7);
lowvideo;
gotoxy(x,y);write (yazi);
delay(d);
highvideo;
gotoxy(x,y);write (yazi);
delay(d);
textcolor(15);
gotoxy(x,y);write(yazi);

end;
procedure son (yazi:string;d:integer);
var x,y:integer;
begin

x:=wherex;y:=wherey;
textbackground(7);
textcolor(7);highvideo;
gotoxy(x,y);write (yazi);
delay(d);
lowvideo;
gotoxy(x,y);write (yazi);
delay(d);
textcolor(8);
lowvideo;
gotoxy(x,y);write (yazi);
delay(d);


end;

procedure menu (secenekler:secenekTip;secenekSayisi:integer);
var
secenekEski:integer;
key:char;
basildi:0..2;
x,y:integer;

begin
x:=wherex;y:=wherey;
{window(whereX,whereY,30,secenekSayisi+1);}

textcolor(8);lowvideo;
for i:=1 to secenekSayisi do
begin
gotoxy(x,y+i-1);
writeln(' '+secenekler);
end;

gotoxy(x,y);yan('>'+secenekler[1]+'<',100);

secenek:=1;
repeat
if key=#80 then {Asagi oka basinca}
begin
secenek:=secenek+1;
basildi:=1; {asagi basildigini belirt}
end
else if key=#72 then {Yukari oka basinca}
begin
secenek:=secenek-1;
basildi:=2; {yukari basildigini belirt}
end
else basildi:=0;

if basildi<>0 then
begin
if secenek=0 then secenek:=secenekSayisi;
if secenek=secenekSayisi+1 then secenek:=1;

if basildi=1 then
if secenek=1 then
secenekEski:=secenekSayisi
else
secenekEski:=secenek-1;

if basildi=2 then
if secenek=secenekSayisi then
secenekEski:=1
else
secenekEski:=secenek+1;

gotoxy(x,y+secenekEski-1);
son(' '+secenekler[secenekEski]+' ',100);
gotoxy(x,y+secenek-1);
yan('>'+secenekler[secenek]+'<',100);
end;

key:=readkey;

if key=#27 then
begin
secenek:=0;
exit;
end;

until key=#13;
ot (300,50);ot(200,30);
end;
procedure cerceve (x1,y1,x2,y2:byte);
var cizgi:string[80];
begin
fillchar(cizgi,x2-x1,#196);
cizgi[0]:=chr(x2-x1-1);
gotoxy(x1,y1);write(chr(218),cizgi,chr(191));
for i:=y1+1 to y2-1 do
begin
gotoxy(x1,i);write(chr(179));
gotoxy(x2,i);write(chr(179));
end;
gotoxy(x1,y2);write(chr(192),cizgi,chr(217));
end;
procedure bilgiEkle;

procedure kitapEkle;
begin textbackground(7); clrscr; secenek:=1;
assign(kitapDosya,'kitaplar.dat');
{$i-} reset(kitapDosya); if IOResult<>0 then rewrite(kitapDosya); {$i+};

textbackground(0);
gotoxy(5,5); writeln('Kitap Adi :');
gotoxy(5,7); writeln('Kitabin Yazari :');
gotoxy(5,9); writeln('Kitap Yayinevi :');
gotoxy(5,11);writeln('Kitap Yayin Tarihi :');
textbackground(15);
gotoxy(27,5);readln(kitap.ad);
gotoxy(27,7);readln(kitap.yazar);
gotoxy(27,9);readln(kitap.yayinevi);
gotoxy(27,11);readln(kitap.yayintarihi);
kitap.kayitDolu:=true;
kitap.alindi:=false;

if filesize(kitapDosya)=0 then seek(kitapDosya,1) {Cunku hic kitap almamis olanlarda elindekiKitap degeri 0 olacak}
else seek(kitapDosya,filesize(kitapDosya));

if length(kitap.ad)>0 then
write(kitapDosya,kitap);
close(kitapDosya);
gotoxy(20,16);yan('Kayit islemi yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
end;

procedure ogrenciEkle;
var numara:string[100];
begin textbackground(7); clrscr; secenek:=1;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-} reset(ogrenciDosya); if IOResult<>0 then rewrite(ogrenciDosya); {$i+};

textbackground(0);
gotoxy(5,5); writeln('Ogrencinin Numarasi :');
gotoxy(5,7); writeln('Ogrencinin Adi :');
gotoxy(5,9); writeln('Ogrencinin Fakultesi :');
gotoxy(5,11);writeln('Ogrencinin Bolumu :');
gotoxy(5,13);writeln('Ogrencinin Cep Telefonu :');
textbackground(15);
gotoxy(31,5);readln(ogrenci.no);
gotoxy(31,7);readln(ogrenci.ad);
gotoxy(31,9);readln(ogrenci.fakulte);
gotoxy(31,11);readln(ogrenci.bolum);
gotoxy(31,13);readln(ogrenci.tel);

ogrenci.aldigiKitapSayisi:=0;
ogrenci.kayitDolu:=true;

seek(ogrenciDosya,filesize(ogrenciDosya));
str(ogrenci.no,numara);
if length(numara)>0 then
write(ogrenciDosya,ogrenci);
close(ogrenciDosya);

gotoxy(20,17);yan('Kayit islemi yapildi...',100);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
end;

begin
repeat textbackground(7); clrscr; secenek:=1;
secenekler[1]:=' Kitap Ekle ';
secenekler[2]:=' Ogrenci Ekle ';

cerceve(25,5,49,10);
gotoxy(30,5);write(chr(191),' Kayit Ekle ',chr(218));
window(28,9,48,11);
menu(secenekler,2);
window(2,3,79,23);

case secenek of
1:kitapEkle;
2:ogrenciEkle;
end;

until secenek=0;
secenek:=1;
end;
procedure sil;

procedure kitapSil;
var
i:integer;
ara:0..100000;
begin textbackground(7); clrscr; secenek:=1;
assign(kitapDosya,'kitaplar.dat');
{$i-}reset(kitapDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
repeat gotoxy(25,10);son('Hic kayit bulunamadi!',100); until keypressed;textcolor(15);
exit;
end;
{$i-}


sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 11 Şubat 2010 00:04:52 | # 4


textbackground(0); gotoxy(5,5); write('Silinecek kitabin numarasi:');
textbackground(15); readln(ara);clrscr;

{$i-}seek(kitapDosya,ara);read(kitapDosya,kitap);
if IOResult=100 then
repeat
gotoxy(25,10);son ('Gecerli bir kitap numarasi giriniz!',100);
until keypressed;
{$i-}
textbackground(0);
gotoxy(5,5); writeln('Kitap Adi :');
gotoxy(5,7); writeln('Kitabin Yazari :');
gotoxy(5,9); writeln('Kitap Yayinevi :');
gotoxy(5,11);writeln('Kitap Yayin Tarihi :');
textbackground(15);
gotoxy(27,5);writeln(kitap.ad);
gotoxy(27,7);writeln(kitap.yazar);
gotoxy(27,9);writeln(kitap.yayinevi);
gotoxy(27,11);writeln(kitap.yayintarihi);

textbackground(7);
cerceve(17,14,55,19);
gotoxy(20,15);textcolor(4);write(' Silinecek kayit bu mu? ');textcolor(15);
window(20,18,54,20);clrscr;

secenekler[1]:=' Evet ';
secenekler[2]:=' Hayir ';
menu(secenekler,2);

if secenek=1 then
begin
seek(kitapDosya,ara);kitap.kayitDolu:=false;
if ara<=filesize(kitapDosya)-1 then
write(kitapDosya,kitap);
end;

window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
close(kitapDosya);
end;

procedure ogrenciSil;
label cik;
var
i:integer;
ara:0..100000;
begin textbackground(7); clrscr; secenek:=1;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-}reset(ogrenciDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
repeat gotoxy(25,10);son('Hic kayit bulunamadi!',100); until keypressed;textcolor(15);
exit;
end;
{$i-}

textbackground(0); gotoxy(5,5); write('Silinecek ogrencinin numarasi:');
textbackground(15); readln(ara);clrscr;

for i:=0 to filesize(ogrenciDosya)-1 do
begin clrscr;
seek(ogrenciDosya,i);read(ogrenciDosya,ogrenci);
if (ogrenci.kayitDolu=true) and (ogrenci.no=ara) then begin
textbackground(0);
gotoxy(5,5); writeln('Ogrencinin Adi :');
gotoxy(5,7); writeln('Ogrencinin Fakultesi :');
gotoxy(5,9); writeln('Ogrencinin Bolumu :');
gotoxy(5,11);writeln('Ogrencinin Cep Telefonu :');
textbackground(15);
gotoxy(31,5);writeln(ogrenci.ad);
gotoxy(31,7);writeln(ogrenci.fakulte);
gotoxy(31,9);writeln(ogrenci.bolum);
gotoxy(31,11);writeln(ogrenci.tel);

textbackground(7);
cerceve(17,14,55,19);
gotoxy(20,15);textcolor(4);write(' Silinecek kayit bu mu? ');textcolor(15);
window(20,18,54,20);clrscr;

secenekler[1]:=' Evet ';
secenekler[2]:=' Hayir ';
menu(secenekler,2);
window(2,3,79,23); textbackground(7); clrscr;

if secenek=1 then
begin
seek(ogrenciDosya,i);
ogrenci.kayitDolu:=false;write(ogrenciDosya,ogrenci); goto cik;
end;

end;clrscr;
end;

cik:
window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
close(ogrenciDosya);
end;

begin
repeat textbackground(7); clrscr; secenek:=1;
secenekler[1]:=' Kitap Sil ';
secenekler[2]:=' Ogrenci Sil ';

cerceve(25,5,49,10);
gotoxy(31,5);write(chr(191),' Sil ',chr(218));
window(28,9,48,11);
menu(secenekler,2);
window(2,3,79,23);

case secenek of
1:kitapSil;
2: ogrenciSil;
end;

until secenek=0;
secenek:=1;
end;
procedure duzelt;

procedure kitapDuzelt;
var
i:integer;
ara:0..100000;
begin textbackground(7); clrscr; secenek:=1;
assign(kitapDosya,'kitaplar.dat');
{$i-}reset(kitapDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
repeat gotoxy(25,10);son('Hic kayit bulunamadi!',100); until keypressed;textcolor(15);
exit;
end;
{$i-}

textbackground(0); gotoxy(5,5); write('Duzeltilecek kitabin numarasi: ');
textbackground(15); readln(ara);clrscr;

{$i-}seek(kitapDosya,ara);read(kitapDosya,kitap);
if IOResult=100 then
repeat
gotoxy(25,10);son ('Gecerli bir kitap numarasi giriniz!',100);
until keypressed;
{$i-}
textbackground(0);
gotoxy(5,5); writeln('Kitap Adi :');
gotoxy(5,7); writeln('Kitabin Yazari :');
gotoxy(5,9); writeln('Kitap Yayinevi :');
gotoxy(5,11);writeln('Kitap Yayin Tarihi :');
textbackground(15);
gotoxy(27,5);writeln(kitap.ad);
gotoxy(27,7);writeln(kitap.yazar);
gotoxy(27,9);writeln(kitap.yayinevi);
gotoxy(27,11);writeln(kitap.yayintarihi);

textbackground(7);
cerceve(17,14,55,19);
gotoxy(20,15);textcolor(4);write(' Duzeltilecek kayit bu mu? ');textcolor(15);
window(20,18,54,20);clrscr;

secenekler[1]:=' Evet ';
secenekler[2]:=' Hayir ';
menu(secenekler,2);
window(2,3,79,23); textbackground(7); clrscr;

if secenek=1 then
begin
textbackground(0);
gotoxy(5,5); writeln('Kitap Adi :');
gotoxy(5,7); writeln('Kitabin Yazari :');
gotoxy(5,9); writeln('Kitap Yayinevi :');
gotoxy(5,11);writeln('Kitap Yayin Tarihi :');
textbackground(15);
gotoxy(27,5);readln(kitap.ad);
gotoxy(27,7);readln(kitap.yazar);
gotoxy(27,9);readln(kitap.yayinevi);
gotoxy(27,11);readln(kitap.yayintarihi);
seek(kitapDosya,ara);
if ara<=filesize(kitapDosya)-1 then
write(kitapDosya,kitap);
end;

window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
close(kitapDosya);
end;

procedure ogrenciDuzelt;
label cik;
var
i:integer;
ara:0..100000;
begin textbackground(7); clrscr; secenek:=1;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-}reset(ogrenciDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
repeat gotoxy(25,10);son('Hic kayit bulunamadi!',100); until keypressed;textcolor(15);
exit;
end;
{$i-}

textbackground(0); gotoxy(5,5); write('Duzeltilecek ogrencinin numarasi: ');
textbackground(15); readln(ara);clrscr;

for i:=0 to filesize(ogrenciDosya)-1 do
begin clrscr;
seek(ogrenciDosya,i);read(ogrenciDosya,ogrenci);
if (ogrenci.kayitDolu=true) and (ogrenci.no=ara) then begin
textbackground(0);
gotoxy(5,5); writeln('Ogrencinin Adi :');
gotoxy(5,7); writeln('Ogrencinin Fakultesi :');
gotoxy(5,9); writeln('Ogrencinin Bolumu :');
gotoxy(5,11);writeln('Ogrencinin Cep Telefonu :');
textbackground(15);
gotoxy(31,5);writeln(ogrenci.ad);
gotoxy(31,7);writeln(ogrenci.fakulte);
gotoxy(31,9);writeln(ogrenci.bolum);
gotoxy(31,11);writeln(ogrenci.tel);

textbackground(7);
cerceve(17,14,55,19);
gotoxy(20,15);textcolor(4);write(' Duzeltilecek kayit bu mu? ');textcolor(15);
window(20,18,54,20);clrscr;


sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 11 Şubat 2010 00:06:15 | # 5


secenekler[1]:=' Evet ';
secenekler[2]:=' Hayir ';
menu(secenekler,2);
window(2,3,79,23); textbackground(7); clrscr;

if secenek=1 then
begin
textbackground(0);
gotoxy(5,5); writeln('Ogrencinin Adi :');
gotoxy(5,7); writeln('Ogrencinin Fakultesi :');
gotoxy(5,9); writeln('Ogrencinin Bolumu :');
gotoxy(5,11);writeln('Ogrencinin Cep Telefonu :');
textbackground(15);
gotoxy(31,5);readln(ogrenci.ad);
gotoxy(31,7);readln(ogrenci.fakulte);
gotoxy(31,9);readln(ogrenci.bolum);
gotoxy(31,11);readln(ogrenci.tel);
seek(ogrenciDosya,i);
write(ogrenciDosya,ogrenci); goto cik;
end;

end;clrscr;
end;

cik:
window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
close(ogrenciDosya);
end;

begin
repeat textbackground(7); clrscr; secenek:=1;
secenekler[1]:=' Kitap Duzelt ';
secenekler[2]:=' Ogrenci Duzelt ';

cerceve(25,5,49,10);
gotoxy(31,5);write(chr(191),' Duzelt ',chr(218));
window(28,9,48,11);
menu(secenekler,2);
window(2,3,79,23);

case secenek of
1:kitapDuzelt;
2:ogrenciDuzelt;
end;

until secenek=0;
secenek:=1;
end;
procedure kurtar;

procedure kitapKurtar;
var mesaj:string[30];
begin textbackground(7); clrscr; secenek:=1;
assign(kitapDosya,'kitaplar.dat');
{$i-}reset(kitapDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
writeln('Hic kayit bulunamadi.'); readln;
exit;
end;
{$i-}
textcolor(0);write(' AD| YAZAR| YAYIN EVI|Y.TARIH| ALAN KISI');window(2,4,79,23);

for i:=1 to filesize(kitapDosya)-1 do
begin
textcolor(15);
seek(kitapDosya,i);
read(kitapDosya,kitap);
if kitap.kayitDolu=false then
begin

if kitap.alindi=false then mesaj:='Kutuphanede'
else
begin
assign(ogrenciDosya,'ogrenciler.dat');reset(ogrenciDosya);
for j:=0 to filesize(ogrenciDosya)-1 do
begin
seek(ogrenciDosya,j);read(ogrenciDosya,ogrenci);
if ogrenci.no=kitap.alanKisi then mesaj:=ogrenci.ad;
end;
close(ogrenciDosya);
end;

writeln(i:2,kitap.ad:17,'|',kitap.yazar:15,'|',kitap.yayinevi:15,'|',kitap.yayintarihi:7,'|',mesaj:17);delay(100);

if i>17 then {Kayitlar cok fazlaysa}
repeat
gotoxy(1,20);son(chr(25),100);gotoxy(1,20);
until keypressed;

end;
end;

gotoxy(1,20);write('Kurtarmak istediginiz kitabin numarasini giriniz: ');
readln(kitapNo);
seek(kitapDosya,kitapNo);read(kitapDosya,kitap);
kitap.kayitDolu:=true;
seek(kitapDosya,kitapNo);
if kitapNo<=filesize(kitapDosya)-1 then
write(kitapDosya,kitap);

close(kitapDosya);
window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
end;
procedure ogrenciKurtar;
var i,j:integer;mesaj:string[30];
begin textbackground(7); clrscr; secenek:=1;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-}reset(ogrenciDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
writeln('Hic kayit bulunamadi.'); readln;
exit;
end;
{$i-}
textcolor(0);write(' NUMARA| AD|FAFAKULTE| CEP TEL| ELINDEKI KITAP|TOP.KITAP S.');window(2,4,79,23);

for i:=0 to filesize(ogrenciDosya)-1 do
begin
textcolor(15);
seek(ogrenciDosya,i);
read(ogrenciDosya,ogrenci);

if ogrenci.elindekiKitap=0 then mesaj:='Yok'
else
begin
assign(kitapDosya,'kitaplar.dat');reset(kitapDosya);
seek(kitapDosya,ogrenci.elindekiKitap);read(kitapDosya,kitap);
mesaj:=kitap.ad;
close(kitapDosya);
end;

if ogrenci.kayitDolu=false then
writeln(ogrenci.no:9,'|',ogrenci.ad:18,'|',ogrenci.fakulte:9,'|',
ogrenci.tel:9,'|',mesaj:16,'|',ogrenci.aldigiKitapSayisi:11);

if i>17 then {Kayitlar cok fazlaysa}
repeat
gotoxy(1,20);son(chr(25),100);gotoxy(1,20);
until keypressed;
end;

gotoxy(1,20);write('Kurtarmak istediginiz ogrencinin numarasini giriniz: ');
readln(ogrenciNo);

for i:=0 to filesize(ogrenciDosya)-1 do
begin
seek(ogrenciDosya,i);read(ogrenciDosya,ogrenci);
if ogrenci.no=ogrenciNo then
begin
ogrenci.kayitDolu:=true;
seek(ogrenciDosya,i);write(ogrenciDosya,ogrenci);
end;
end;

close(ogrenciDosya);
window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
end;
begin
repeat textbackground(7); clrscr; secenek:=1;
gotoxy(15,15);textcolor(4);
write('Bu bolumde silinmis olan kayitlari kurtarabilirsiniz. ');
gotoxy(1,16);
write('Once listeye goz atin, ardindan kurtarmak istediginiz kaydin numarasini girin.');
textcolor(15);

secenekler[1]:=' Kitap Kaydi Kurtar ';
secenekler[2]:=' Ogrenci Kaydi Kurtar ';

cerceve(22,5,49,10);
gotoxy(29,5);write(chr(191),' Kurtar ',chr(218));
window(25,9,48,11);
menu(secenekler,2);
window(2,3,79,23);

case secenek of
1:kitapKurtar;
2:ogrenciKurtar;
end;

until secenek=0;
secenek:=1;
end;


procedure listele;

procedure kitapListele;
var
i,j:integer;
mesaj:string[100];
begin textbackground(7); clrscr; secenek:=1;
assign(kitapDosya,'kitaplar.dat');
{$i-}reset(kitapDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
repeat gotoxy(25,10);son('Hic kayit bulunamadi!',100); until keypressed;textcolor(15);
exit;
end;
{$i-}

textcolor(0);write(' AD| YAZAR| YAYIN EVI|Y.TARIH| ALAN KISI');window(2,4,79,23);

for i:=1 to filesize(kitapDosya)-1 do
begin
textcolor(15);
seek(kitapDosya,i);
read(kitapDosya,kitap);

if kitap.alindi=false then mesaj:='Kutuphanede'
else
begin
assign(ogrenciDosya,'ogrenciler.dat');reset(ogrenciDosya);
for j:=0 to filesize(ogrenciDosya)-1 do
begin
seek(ogrenciDosya,j);read(ogrenciDosya,ogrenci);
if ogrenci.no=kitap.alanKisi then mesaj:=ogrenci.ad;
end;
close(ogrenciDosya);
end;

if kitap.kayitDolu=true then
writeln(i:2,kitap.ad:17,'|',kitap.yazar:15,'|',kitap.yayinevi:15,'|',kitap.yayintarihi:7,'|',mesaj:17);delay(100);

if i>17 then {Kayitlar cok fazlaysa}
repeat
gotoxy(1,20);son(chr(25),100);gotoxy(1,20);
until keypressed;

end;
close(kitapDosya);
gotoxy(1,20);write('Kayitlar bitti...');
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
readln; window(2,3,79,23); end;

procedure ogrenciListele;
var mesaj:string[100];
begin textbackground(7); clrscr; secenek:=1;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-}reset(ogrenciDosya); if IOResult<>0 then
begin ot(90,100);ot(90,300);
repeat gotoxy(25,10);son('Hic kayit bulunamadi!',100); until keypressed;textcolor(15);
exit;
end;
{$i-}
textcolor(0);write(' NUMARA| AD|FAFAKULTE| CEP TEL| ELINDEKI KITAP|TOP.KITAP S.');window(2,4,79,23);

for i:=0 to filesize(ogrenciDosya)-1 do
begin
textcolor(15);
seek(ogrenciDosya,i);
read(ogrenciDosya,ogrenci);

if ogrenci.elindekiKitap=0 then mesaj:='Yok'
else
begin
assign(kitapDosya,'kitaplar.dat');reset(kitapDosya);
seek(kitapDosya,ogrenci.elindekiKitap);read(kitapDosya,kitap);
mesaj:=kitap.ad;
close(kitapDosya);
end;

if ogrenci.kayitDolu=true then
writeln(ogrenci.no:9,'|',ogrenci.ad:18,'|',ogrenci.fakulte:9,'|',
ogrenci.tel:9,'|',mesaj:16,'|',ogrenci.aldigiKitapSayisi:11);

if i>17 then {Kayitlar cok fazlaysa}
repeat
gotoxy(1,20);son(chr(25),100);gotoxy(1,20);
until keypressed;

end;


sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 11 Şubat 2010 00:07:16 | # 6

uses
[COLOR=141312] close(ogrenciDosya);

gotoxy(1,20);write('Kayitlar bitti...');
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
readln; window(2,3,79,23);end;
begin
repeat textbackground(7); clrscr; secenek:=1;
secenekler[1]:=' Kitap Listesi ';
secenekler[2]:=' Ogrenci Listesi ';

cerceve(25,5,49,10);
gotoxy(31,5);write(chr(191),' Listeler ',chr(218));
window(28,9,48,11);
menu(secenekler,2);
window(2,3,79,23);

case secenek of
1:kitapListele;
2:ogrenciListele;
end;

until secenek=0;
secenek:=1;
end;

procedure al_ver;

procedure ver;
var i:integer;
begin textbackground(7); clrscr; secenek:=1;
hata:=false;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-}reset(ogrenciDosya); if IOResult<>0 then hata:=true; {$i-}
assign(kitapDosya,'kitaplar.dat');
{$i-}reset(kitapDosya); if IOResult<>0 then hata:=true; {$i-}

if hata=true then
begin ot(90,100);ot(90,300);
write('Hic ogrenci kayitli degil veya hic kitap kayitli degil...');readln;
exit;
end;

repeat clrscr;
write('Alinacak kitabin numarasi: ');readln(kitapNo);

seek(kitapDosya,kitapNo);
read(kitapDosya,kitap);
write('Alinacak kitap bu mu? (E/H) -> ');
textcolor(0);writeln(kitap.ad);textcolor(15);
readln(dogrulama);

until upcase(dogrulama)='E';

if kitap.alindi=true then writeln('Kitap baskasi tarafindan alinmis. ')
else begin
write('Kitabi alacak ogrencinin numarasi: ');readln(ogrenciNo);

for i:=0 to filesize(ogrenciDosya)-1 do
begin
seek(ogrenciDosya,i);
read(ogrenciDosya,ogrenci);
if ogrenci.no=ogrenciNo then
begin
if ogrenci.elindekiKitap <> 0 then
begin ot(90,100);ot(90,300);
write('Bir ogrenci ancak 1 kitap alabilir. Bu ogrencinin elinde ', ogrenci.elindekiKitap, ' numarali, ');
seek(kitapDosya,ogrenci.elindekiKitap);read(kitapDosya,kitap);
write(kitap.ad,' isimli kitap var. ');
end
else begin
ogrenci.elindekiKitap:=kitapNo;
ogrenci.aldigiKitapSayisi:=ogrenci.aldigiKitapSayisi+1;
seek(ogrenciDosya,i);
write(ogrenciDosya,ogrenci);

kitap.alindi:=true;
kitap.alanKisi:=ogrenciNo;
seek(kitapDosya,kitapNo);
write(kitapDosya,kitap);

end;
end;
end;
end;

close(ogrenciDosya); close(kitapDosya);
window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
end;

procedure al;
var i,j:integer;
begin textbackground(7); clrscr; secenek:=1;
hata:=false;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-}reset(ogrenciDosya); if IOResult<>0 then hata:=true; {$i-}
assign(kitapDosya,'kitaplar.dat');
{$i-}reset(kitapDosya); if IOResult<>0 then hata:=true; {$i-}

if hata=true then
begin ot(90,100);ot(90,300);
write('Hic ogrenci kayitli degil veya hic kitap kayitli degil...');readln;
exit;
end;

repeat clrscr;
write('Kitap teslim edecek ogrencinin numarasi: ');readln(ogrenciNo);

for i:=0 to filesize(ogrenciDosya)-1 do
begin
seek(ogrenciDosya,i);
read(ogrenciDosya,ogrenci);
if ogrenci.no=ogrenciNo then
begin
write('Ogrencinin adi bu mu? (E/H) -> ');
textcolor(0);writeln(ogrenci.ad);textcolor(15);
readln(dogrulama);j:=i;
end;
end;

until upcase(dogrulama)='E';
seek(kitapDosya,ogrenci.elindekiKitap);
read(kitapDosya,kitap);
write('Teslim alinacak kitabin adi ');
textcolor(0);write(kitap.ad);textcolor(15);
writeln(' dir.');readln;

kitap.alindi:=false;
seek(kitapDosya,ogrenci.elindekiKitap);
write(kitapDosya,kitap);

ogrenci.elindekiKitap:=0;
seek(ogrenciDosya,j);
write(ogrenciDosya,ogrenci);

close(ogrenciDosya); close(kitapDosya);
window(2,3,79,23);gotoxy(20,21);yan('Islem yapildi...',100);delay(1000);
ot(300,50);ot(200,30);ot(200,30);ot(300,150);delay(1000);
end;

begin
repeat textbackground(7); clrscr; secenek:=1;
secenekler[1]:=' Kitap Ver ';
secenekler[2]:=' Kitap Teslim Al ';
cerceve(25,5,49,10);
gotoxy(31,5);write(chr(191),' Ver - Al ',chr(218));
window(28,9,48,11);
menu(secenekler,2);
window(2,3,79,23);
case secenek of
1:ver;
2:al;
end;
until secenek=0;
secenek:=1;
end;
procedure ara;

procedure kitapAra;
var
ad:string[100];
yazar:string[100];
yayinevi:string[100];
yayintarihi:string[100];
kontrol:boolean;

begin textbackground(7); clrscr; secenek:=1;
assign(kitapDosya,'kitaplar.dat');
{$i-} reset(kitapDosya); if IOResult<>0 then rewrite(kitapDosya); {$i+};
gotoxy(5,1);textcolor(0);
write('Arama yapmak icin asagidaki kriterlerden istediklerinizi girin. ');
write('Eger kayit bulunursa bos biraktiginiz alanlar tamamlanacaktir. ');
textcolor(15);

textbackground(0);
gotoxy(5,5); writeln('Kitap Adi :');
gotoxy(5,7); writeln('Kitabin Yazari :');
gotoxy(5,9); writeln('Kitap Yayinevi :');
gotoxy(5,11);writeln('Kitap Yayin Tarihi :');
textbackground(15);
gotoxy(27,5);readln(ad);
gotoxy(27,7);readln(yazar);
gotoxy(27,9);readln(yayinevi);
gotoxy(27,11);readln(yayintarihi);

for i:=1 to filesize(kitapDosya)-1 do
begin
textcolor(15);
seek(kitapDosya,i);
read(kitapDosya,kitap);

if length(ad)>0 then
if kitap.ad=ad then kontrol:=true else kontrol:=false;

if length(yazar)>0 then
if kitap.yazar=yazar then kontrol:=true else kontrol:=false;

if length(yayinevi)>0 then
if kitap.yayinevi=yayinevi then kontrol:=true else kontrol:=false;


sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 11 Şubat 2010 00:08:37 | # 7


if length(yayintarihi)>0 then
if kitap.yayintarihi=yayintarihi then kontrol:=true else kontrol:=false;

if kontrol=true then
begin
clrscr;
textbackground(0);
gotoxy(5,5); writeln('Kitap Adi :');
gotoxy(5,7); writeln('Kitabin Yazari :');
gotoxy(5,9); writeln('Kitap Yayinevi :');
gotoxy(5,11);writeln('Kitap Yayin Tarihi :');
textbackground(15);
gotoxy(27,5);writeln(kitap.ad);
gotoxy(27,7);writeln(kitap.yazar);
gotoxy(27,9);writeln(kitap.yayinevi);
gotoxy(27,11);writeln(kitap.yayintarihi);
break;
end;
clrscr;
if kontrol<>true then writeln('Kayit bulunamadi!');
end;
window(2,3,79,23);readln;
end;
procedure ogrenciAra;
var
ad:string[100];
fakulte:string[100];
bolum:string[100];
tel:string[100];
kontrol:boolean;

begin textbackground(7); clrscr; secenek:=1;
assign(ogrenciDosya,'ogrenciler.dat');
{$i-} reset(ogrenciDosya); if IOResult<>0 then rewrite(ogrenciDosya); {$i+};
gotoxy(5,1);textcolor(0);
write('Arama yapmak icin asagidaki kriterlerden istediklerinizi girin. ');
write('Eger kayit bulunursa bos biraktiginiz alanlar tamamlanacaktir. ');
textcolor(15);
textbackground(0);
gotoxy(5,5); writeln('Ogrencinin Adi :');
gotoxy(5,7); writeln('Ogrencinin Fakultesi :');
gotoxy(5,9); writeln('Ogrencinin Bolumu :');
gotoxy(5,11);writeln('Ogrencinin Cep Telefonu :');
textbackground(15);
gotoxy(31,5);readln(ad);
gotoxy(31,7);readln(fakulte);
gotoxy(31,9);readln(bolum);
gotoxy(31,11);readln(tel);

for i:=1 to filesize(ogrenciDosya)-1 do
begin
textcolor(15);
seek(ogrenciDosya,i);
read(ogrenciDosya,ogrenci);

if length(ad)>0 then
if ogrenci.ad=ad then kontrol:=true else kontrol:=false;

if length(fakulte)>0 then
if ogrenci.fakulte=fakulte then kontrol:=true else kontrol:=false;

if length(bolum)>0 then
if ogrenci.bolum=bolum then kontrol:=true else kontrol:=false;

if length(tel)>0 then
if ogrenci.tel=tel then kontrol:=true else kontrol:=false;

if kontrol=true then
begin
clrscr;
textbackground(0);
gotoxy(5,5); writeln('Ogrencinin Adi :');
gotoxy(5,7); writeln('Ogrencinin Fakultesi :');
gotoxy(5,9); writeln('Ogrencinin Bolumu :');
gotoxy(5,11);writeln('Ogrencinin Cep Telefonu :');
textbackground(15);
gotoxy(31,5);writeln(ogrenci.ad);
gotoxy(31,7);writeln(ogrenci.fakulte);
gotoxy(31,9);writeln(ogrenci.bolum);
gotoxy(31,11);writeln(ogrenci.tel);
break;
end;
clrscr;
if kontrol<>true then writeln('Kayit bulunamadi!');
end;
window(2,3,79,23);readln;
end;


begin
repeat textbackground(7); clrscr; secenek:=1;
secenekler[1]:=' Kitap Ara ';
secenekler[2]:=' Ogrenci Ara ';

cerceve(25,5,49,10);
gotoxy(31,5);write(chr(191),' Ara ',chr(218));
window(28,9,48,11);
menu(secenekler,2);
window(2,3,79,23);

case secenek of
1:kitapAra;
2:ogrenciAra;
end;

until secenek=0;
secenek:=1;
end;
begin
repeat
textbackground(7);clrscr;
gotoxy(2,25);write(chr(175),' ESC: Cikis');
gotoxy(55,25);write('Muhammed YILDIRIM | 2010');

cerceve(1,2,80,24);
textcolor(6);
gotoxy(2,1);write(chr(5));gotoxy(77,1);write('_ X');
gotoxy(4,1);write('KUTUPHANE TAKIP PROGRAMI');
textcolor(15);
window(2,3,79,23);

repeat textbackground(7); clrscr;
secenekler[1]:=' Kayit Ekle ';
secenekler[2]:=' Kayit Sil ';
secenekler[3]:=' Kayit Duzelt ';
secenekler[4]:=' Listeler ';
secenekler[5]:=' Kitap Ver - Al ';
secenekler[6]:=' Kayit Ara ';
secenekler[7]:=' Bilgi Kurtar ';


cerceve(22,5,53,15);
gotoxy(32,5);write(chr(191),' Ana Menu ',chr(218));
window(25,9,52,16);
menu(secenekler,7);
window(2,3,79,23);

case secenek of
1:bilgiEkle;
2:sil;
3:duzelt;
4:listele;
5:al_ver;
6:ara;
7:kurtar;
end;

until secenek=0;

textbackground(7);
cerceve(17,14,55,19);
gotoxy(20,15);textcolor(4);write('Cikmak istediginize emin misiniz?');textcolor(15);
window(20,18,54,20);clrscr;

secenekler[1]:=' Evet ';
secenekler[2]:=' Hayir ';
menu(secenekler,2);

until secenek=1;
end.

ruci007
Üye
ruci007

Puan: 3.5

ruci007 şu anda çevrimdışı
Gönderilme Tarihi: 09 Mart 2010 17:24:24 | # 8

teşekkür ederim

sendetiklat
Sahip
sendetiklat


sendetiklat şu anda çevrimdışı
Gönderilme Tarihi: 29 Ekim 2010 23:38:36 | # 9

Kaynak kodunu buradan indirebilirsiniz:

kaynak-kodu279813738_rar

cihat0614
Üye
cihat0614

Puan: 3.5

cihat0614 şu anda çevrimdışı
Gönderilme Tarihi: 05 Mayıs 2011 17:21:15 | # 10

kardeş bunun bana algoritması lazım hangı döngüler kullanıldı bunları bana yazabılırmısın acaba..
Sayfalar:
[1] 2
1.3.0
Kullanım Şartları - İletişim - Öner
29 Temmuz 2014 Salı 13:28:53