uses crt;
type
st10=string[10];
const
ders:array[1..5] of string[10]=('MATEMATiK ','FiZiK ','KiMYA ','EDEBiYAT ','TARiH ');
MAX=10;
VAR
ISIM:ARRAY[1..max] of string[20];
n:ARRAY[1..max,1..5,1..3] of byte;
i,j,e:byte;
tus:char;
cizgi:string[80];
satir:byte;
g,m:integer;
procedure cerceve(x1,y1,x2,y2:byte);
var
k:byte;
begin
gotoxy(x1,y1); write(#201);
for k:=x1+1 to x2-1 do write(#205);
write(#187);
for k:=y1+1 to y2-1 do
begin
gotoxy (x1,k); write(#186);
gotoxy (x2,k); write(#186);
end;
gotoxy (x1,y2); write(#200);
for k:=x1+1 to x2-1 do write(#205);
write(#188);
end;
procedure ilkekran;
begin
clrscr;
textcolor(red);cerceve(1,1,80,24);textcolor(green);cerceve(3,2,78,4);
textcolor(33);cerceve(3,5,20,20); textcolor(33);cerceve(22,5,60,7);
textcolor(white);cerceve(22,8,60,23); textcolor(33);cerceve(62,5,78,20);
textcolor(7);cerceve(3,21,20,23); textcolor(7);cerceve(62,21,78,23);
gotoxy(24,3);textcolor(green);write('Program Hazrlayan= Cihangir EKER');
gotoxy(28,6);textcolor(green);write('™grenci Ders Bilgi Program');
gotoxy(67,6);textcolor(green);write(' Soma ');
gotoxy(67,8);textcolor(green);write('Endstri ');
gotoxy(67,10);textcolor(green);write(' Meslek ');
gotoxy(67,12);textcolor(green);write(' ve ');
gotoxy(67,14);textcolor(green);write(' Teknik ');
gotoxy(67,16);textcolor(green);write(' Lisesi ');
gotoxy(8,6);textcolor(green);write(' Soma ');
gotoxy(8,8);textcolor(green);write('Endstri ');
gotoxy(8,10);textcolor(green);write(' Meslek ');
gotoxy(8,12);textcolor(green);write(' ve ');
gotoxy(8,14);textcolor(green);write(' Teknik ');
gotoxy(8,16);textcolor(green);write(' Lisesi ');
gotoxy(6,21);textcolor(green);write(' Bilgisayar ');
gotoxy(7,22);textcolor(green);write(' Yazlm');
gotoxy(66,21);textcolor(green);write('Bilgisayar');
gotoxy(66,22);textcolor(green);write(' Yazlm ');
end;
procedure bilgigir;
begin
clrscr;
if E< max then
begin
E:=E+1;
textcolor(green);write(E,'.™grenci Ad...= ');readln(isim[E]);
if isim[E]='' then
begin
E:=E-1; exit
end;
for j:=1 to 5 do
begin
writeln;
textcolor(white);write(ders[j],'1.Notu............= ');readln(n[e,j,1]);
write(ders[j],'2.Notu............= ');readln(n[e,j,2]);
write(ders[j],'3.Notu............= ');readln(n[e,j,3]);
writeln;
end;
end
else
begin
textcolor(red);gotoxy(20,10);write('!!! Daha Fazla Bilgi Girilemez !!! ');
tus:=readkey;
end;
end;
function ort:real;
begin
ort:=(n[i,j,1]+n[i,j,2]+n[i,j,3])/3;
end;
function sonuc:st10;
begin
if ort<45 then sonuc :='KALDI'
else
sonuc :='GE€Ti';
end;
procedure yaz;
begin
clrscr;
textcolor(green);writeln('(',i,')™grenci Ad..=',isim[i]);
writeln;
textcolor(green);writeln('ders ad',' ':20,'not-1',' ':5,'not-2',' ':5,'not-3',' ':5,'ort',' ':5,'sonuc');
textcolor(white);writeln(cizgi);
for j:=1 to 5 do
begin
textcolor(15); gotoxy (1,j+4);write(ders[j]);
gotoxy (30,j+4);write(n[i,j,1]:2);
gotoxy (40,j+4);write(n[i,j,2]:2);
gotoxy (50,j+4);write(n[i,j,3]:2);
gotoxy (60,j+4);write(ort:3:0);
gotoxy (68,j+4);write(Sonuc);
end;
end;
procedure tamliste;
begin
clrscr;
for i:= 1 to E do
begin
yaz;
tus:=readkey;
end;
end;
procedure Bilgiarama;
var
ara:string[20];
begin
repeat
clrscr;
cerceve(20,9,60,11);
textcolor(green);gotoxy(22,10);write('isim..= ');readln(ara);
if ara='' then exit;
for i:= 1 to E do
begin
if isim[i]=ara then
begin
yaz;
textcolor(green);gotoxy(23,20);write('Aradgnz Kayt Bu mu? [E/H]');
repeat
tus:=upcase(readkey);
until tus in ['E','H'];
if tus='E' then exit;
end;
end;
textcolor(red); gotoxy(21,23);write('Aradgnz Kayt Bulunmamaktadr!!!');
tus:=readkey;
until i=2;
end;
procedure Baslik;
var
k:byte;
begin
clrscr;
textcolor(green);write('™grenci Ad',' ':10);
for k:= 1 to 5 do write(ders[k]:10);
writeln(' ort');
textcolor(white);write(cizgi);
satir:=2;
end;
procedure dersortalama;
var
gnot:integer;
gn,gs:byte;
begin clrscr;
Baslik;
for i:=1 to e do
begin
satir:=satir+1;
gotoxy(1,satir);write(isim[i]);
gnot:=0;
for j:=1 to 5 do
begin
gn:=round(ort);
gotoxy(15+j*10,satir);write(gn:3);
gnot:=gnot+gn;
end; gs:=round(gnot/5);
gotoxy (75,satir);write(gs:3);
if satir=20 then
begin
gotoxy(20,25);
textcolor(green);write('Diger Sayfa i‡in Bir Tusa Basnz!!!');
tus:=readkey;
baslik;
end;
end;
textcolor(red);gotoxy(15,25);write('Listenecek Kaytlar Bitti !!! Bir Tusa Basnz.');
tus:=readkey;
end;
procedure baslik2;
begin
clrscr;
write('™grenci Ad ',' ':20);
writeln('Genel Ortalama');
textcolor(white);writeln(copy(cizgi,1,50));
satir:=2;
end;
procedure genelortalama;
var
gnot,sinift:integer;
gn:byte;
begin
baslik2;sinift:=0;
for i:= 1 to e do
begin
satir:=satir+1;
gotoxy(1,satir);write(isim[i] );
gnot:=0;
for j:= 1 to 5 do
gnot:= gnot+round(ort);
gn:=round(gnot/5);
sinift:=sinift+gn;
gotoxy(35,satir); write(gn:3);
if satir=20 then
begin
clrscr;
gotoxy(20,25);
textcolor(green);write('Diger Sayfa i‡in Bir Tusa Basnz !!!');
tus:=readkey;
baslik2;
end;
end;
writeln;
writeln;
textcolor(green);gotoxy(1,23);write('Sinif Not Ortalalmas = ',sinift/e:5:2);
textcolor(red);gotoxy(20,25);write('Listelenecek kaytlar bitti!!!');
tus:=readkey;
end;
begin
e:=0;
fillchar(cizgi,80,205);
cizgi[0]:=#79;
repeat
ilkekran;
textcolor(white);gotoxy(30,10);write('1- Bilgi GiriŸi');
gotoxy(30,12);write('2- Tm Liste');
gotoxy(30,14);write('3- Bilgi Arama');
gotoxy(30,16);write('4- Ders Ortalamalar');
gotoxy(30,18);write('5- Genel Ortalamalar');
gotoxy(30,20);write('6- CikiŸ');
textcolor(15);gotoxy(30,22);write(' Seciminiz [1..6]');
repeat
tus:=readkey;
until tus in ['1'..'6'];
case tus of
'1' :bilgigir;
'2' :tamliste;
'3' :bilgiarama;
'4' :dersortalama;
'5' :genelortalama;
'6' :halt;
end;
until 1=2;
end.
cihangir eker
cihangireker_7@hotmail.com