dawid253F
Gość
|
Wysłany: Śro 8:29, 14 Kwi 2010 Temat postu: Potrzebuję opisu gotowego programu w Pascalu |
|
|
Prosił bym o opisanie tego programu zrobiłem go na podstawie innych on działa tak jak ma działać tylko potrzebuję opisu co robi poszczególna procedura a nawet linijka. Bardzo proszę o pomoc ponieważ sam nie dam sobie z tym rady. To jest ten program:
program bazaklubu;
uses graph,crt;
type pilkarz=record
nazwa_pilkarza:string[20];
dane:record
wiek:integer;
narodowosc:string;
iloscgoli:integer;
pozycja:string;
end;
end;
var
plik:file of pilkarz;
os:pilkarz;
i:string;
sterownik,tryb:integer;
procedure dopisywanie;
begin
clrscr;
writeln;
writeln('----Podaj nazwe pilkarza----');
readln(os.nazwa_pilkarza);
writeln;
writeln('----Podaj wiek----');
readln(os.dane.wiek);
writeln;
writeln('----Podaj narodowosc----');
readln(os.dane.narodowosc);
writeln;
writeln('----Podaj ilosc goli----');
readln(os.dane.iloscgoli);
writeln;
writeln('----Podaj pozycje na boisku zawodnika----');
readln(os.dane.pozycja);
reset(plik);
seek(plik,filesize(plik));
write(plik,os);
close(plik);
end;
procedure lista;
begin
clrscr;
reset(plik);
if filesize(plik)=0 then
begin
writeln;
writeln('Brak wpisanych pilkarzy w bazie.');
delay(2000);
exit;
end;
while not eof(plik) do
begin
read(plik,os);
writeln('---------------------------------------------');
textcolor(yellow);
writeln('personalia');
textcolor(white);
writeln(os.nazwa_pilkarza);
textcolor(yellow);
writeln('wiek:');
textcolor(white);
writeln(os.dane.wiek);
textcolor(yellow);
writeln('kraj:');
textcolor(white);
writeln(os.dane.narodowosc);
textcolor(yellow);
writeln('ilosc strzelonych goli:');
textcolor(white);
writeln(os.dane.iloscgoli);
textcolor(yellow);
writeln('pozycja w grze:');
textcolor(white);
writeln(os.dane.pozycja);
writeln;
writeln;
end;
writeln('koniec listy');
readln;
close(plik);
end;
procedure szukaj;
begin
textcolor(yellow);
clrscr;
reset(plik);
if filesize(plik)=0 then
begin
writeln;
writeln('Baza danych jest pusta ');
delay(500);
exit;
end;
while not eof(plik) do
begin
textcolor(yellow);
write('Podaj nazwe zawodnika :');
readln(i);
read(plik,os);
if i=os.nazwa_pilkarza then
begin
writeln(' Zawodnik : ',os.nazwa_pilkarza);
writeln(' Wiek : ',os.dane.wiek);
writeln(' Kraj : ',os.dane.narodowosc);
writeln(' Ilosc strzelonych goli : ',os.dane.iloscgoli);
writeln(' Pozycja w grze :',os.dane.pozycja);
end;
end;
readln;
close(plik);
end;
procedure kasuj;
var n:integer;
begin
clrscr;
reset(plik);
writeln;
writeln('Podaj numer pilkarza ktorego chcesz usunac');
readln(n);
if (n<1>filesize(plik)) then
begin
writeln('Nieprawidlowy numer');
readkey;
exit;
end;
seek(plik,filesize(plik)-1);
read(plik,os);
seek(plik,n-1);
write(plik,os);
seek(plik,filesize(plik)-1);
truncate(plik);
writeln('Rekord nr ',n,' skasowany');
readln;
close(plik);
end;
procedure menu;
var klawisz:char;
begin
repeat
clrscr;
textcolor(yellow);
writeln;
writeln;
writeln;
writeln;
writeln(' -------------------------------------------------- ');
writeln(' | *** FC BARCELONA *** | ');
writeln(' |___________________________________ | ');
writeln(' | | ');
writeln(' | | ');
writeln(' | | ');
writeln(' | ---Wybierz co chesz zrobic--- | ');
writeln(' | | ');
writeln(' | 1 - Dopisywanie kolejnego zawodnika | ');
writeln(' | 2 - Wyswietlenie listy pilkarzy | ');
writeln(' | 3 - Znajdz zawodnika | ');
writeln(' | 4 - Kasowanie zawodnika | ');
writeln(' | 5 - Wyjscie z programu | ');
writeln(' | | ');
writeln(' | | ');
writeln(' -------------------------------------------------- ');
klawisz:=readkey;
if klawisz='1' then dopisywanie;
if klawisz='2' then lista;
if klawisz='3' then szukaj;
if klawisz='4' then kasuj;
until klawisz='5';
end;
begin
clrscr;
textcolor(yellow);
textbackground(green);
begin
sterownik:=detect;
initgraph(sterownik,tryb,'c:\S\BGI');
settextstyle(3,0,6);
outtextxy(150,50,'FC BARCELONA');
circle(300,200,20);
circle(290,195,2);
circle(310,195,2);
line(300,195,300,205);
ellipse(300,210,180,0,8,5);
line(300,220,300,310);
line(300,230,340,270);
line(300,230,260,270);
line(300,310,340,400);
line(300,310,260,400);
circle(360,380,20);
settextstyle(12,0,1);
outtextxy(345,378,'NIKE');
rectangle(350,150,600,320);
line(350,150,360,130);
line(360,130,620,130);
line(600,150,620,130);
line(620,130,620,310);
line(620,310,600,320);
setfillstyle(7,15);
floodfill(400,200,15);
readln;
closegraph;
end;
assign(plik,'c:\gg\Dane');
{$i-}
reset(plik);
if ioresult<>0 then rewrite(plik);
{$i+}
close(plik);
menu;
end.
|
|