Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Необходимы коментарии по программе "Телефонный справочник"

37K
04 июня 2008 года
Искатель
2 / / 10.05.2008
Доброго всем времени суток! Огромная просьба к людям разбирающихся в программировании- необходимы коментарии:

1. Обьясниение значения переменных используемых в программе;
2. Обьяснение назначения процедур используемых в программе;
3. Обьяснения хода работы программы.

Заранее благодарен откликнувшимся. Был бы очень признателен за реализацию в первую очередь пункта №1 и разъяснению по процедуре DDR.

Р.S. Программу делал по аналогии(практически сплагиатил) на курсовик, завтра сдавать- остается лишь описание написать.

[COLOR="Navy"]Program TelBase;
Uses Crt;

Type
Tel=^spisok;
spisok=record
Fam,Name,Otch,Adr,Phone,Email,iCQ:string;
Ne:Tel;
end;

Var
Fam,Name,Otch,Adr,Phone,Email,iCQ:string;
menu: array[1 .. 5] of string[25];
punkt,key,F1:integer;
ch:char;
f:file of spisok;
buf: spisok;
p,t,top,h:Tel;
x,y:integer;

Procedure TelMenu;
var
i:integer;
begin

clrscr;

for i:=1 to 5 do
begin
gotoxy(x,y+i-1);
write(menu);
end;
textattr:=92;
gotoxy(x,y+punkt-1);
write(menu[punkt]);
textattr:=7;
end;

Procedure Punkt1;
begin

clrscr;

if filesize(f)<>0 then seek(f,filesize(f));
writeln('ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ');
with buf do
begin
writeln(' ');
write('”*¬Ё«Ёп: ');
readln(buf.Fam);
write('€¬п: ');
readln(buf.Name);
write('ЋвзҐбвў®: ');
readln(buf.Otch);
write('Ђ¤аҐб: ');
readln(buf.Adr);
write('Ќ®¬Ґа ⥫Ґд®**: ');
readln(buf.Phone);
write('E-mail: ');
readln(buf.Email);
write('ь iCQ: ');
readln(buf.iCQ);
write(f,buf);
end;
end;

Procedure DDR;
begin
top:=nil;
repeat
read(f,buf);
new(h);
h^.Fam:=buf.Fam;
h^.Name:=buf.Name;
h^.Otch:=buf.Otch;
h^.Adr:=buf.Adr;
h^.Phone:=buf.Phone;
h^.Email:=buf.Email;
h^.iCQ:=buf.iCQ;
h^.Ne:=nil;
t:=top;
while(h^.Fam>t^.Fam) and (t<>nil) do

begin
p:=t;
t:=t^.Ne;
end;


if p=nil then
begin
h^.Ne:=top;
top:=h;
end else
begin
h^.Ne:=t;
p^.Ne:=h;
end;
until eof(f);
readln;
end;


Procedure Punkt2;
begin
clrscr;
reset(f);

if filesize(f)<>0 then
begin
DDR;
t:=top;
while t<>nil do
begin
writeln('ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ');
textattr:=green;
writeln('”*¬Ё«Ёп: ',t^.Fam);
writeln('€¬п: ',t^.Name);
writeln('ЋвзҐбвў®: ',t^.Otch);
writeln('Ђ¤аҐб: ',t^.Adr);
writeln('Ќ®¬Ґа ⥫Ґд®**: ',t^.Phone);
writeln('E-mail: ',t^.Email);
writeln('ь iCQ: ',t^.iCQ);
t:=t^.Ne;
textattr:=7;
end;
end else
writeln ('Ѓ*§* Їгбв*');
readln;
end;

Procedure Punkt3;
begin
clrscr;
if filesize(f)<>0 then
BEGIN
writeln('‚ўҐ¤ЁвҐ ”*¬Ё«Ёо: ');
readln(Fam);
reset(f);
f1:=0;
DDR;
t:=top;
p:=nil;
while (fam<>t^.fam) and (t<>nil) do
begin
p:=t;
t:=t^.Ne;
end;
if(fam=t^.fam) and(p=nil) then
begin
top:=top^.Ne;
dispose(t);
f1:=1;
end;
if(fam=t^.fam) and (p<>nil) then
begin
p^.Ne:=t^.Ne;
dispose(t);
f1:=1
end;
if f1>0 then writeln('“¤*«Ґ*®') else writeln('€*д®а¬*жЁп ®Ў *Ў®*Ґ*⥠*Ґ ¤®бвгЇ**!');
t:=top;
rewrite(f);
while t<>nil do
begin
buf:=t^;
write(f,buf);
t:=t^.Ne;
end;
END else writeln('ЃЂ‡Ђ „ЂЌЌ›• Џ“‘’Ђ');
readln;
end;
Procedure Punkt4;
begin
clrscr;
if filesize(f)<>0 then
BEGIN
writeln('‚ўҐ¤ЁвҐ ”*¬Ё«Ёо');
readln(Fam);
reset(f);key:=0;
ddr;
t:=top;
while t<>nil do
begin
if Fam=t^.Fam then
begin
writeln('ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД');
writeln('”*¬Ё«Ёп: ',t^.Fam);
writeln('€¬п: ',t^.Name);
writeln('ЋвзҐбвў®: ',t^.Otch);
writeln('Ђ¤аҐб: ',t^.Adr);
writeln('Ќ®¬Ґа ⥫Ґд®**: ',t^.Phone);
writeln('E-mail: ',t^.Email);
writeln('ь iCQ: ',t^.iCQ);
writeln('ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД');
key:=1;
end;
t:=t^.Ne;
end;
if key=0 then
writeln('€*д®а¬*жЁп ®Ў *Ў®*Ґ*⥠*Ґ ¤®бвгЇ**!');
writeln('‚Ґа*гвбп ў ¬Ґ*о - Enter');
writeln('Џ®ЁбЄ §*ўҐаиҐ*');
END else writeln('ЃЂ‡Ђ „ЂЌЌ›• Џ“‘’Ђ');
readln;
end;

Begin
assign(f,'Kurs.fam');
{rewrite(f);}
reset(f);
clrscr;
menu[1]:='° „®Ў*ўЁвм *Ў®*Ґ*в*';
menu[2]:='° €*д®а¬*жЁп ®Ў *Ў®*Ґ*в*е';
menu[3]:='° “¤*«Ёвм';
menu[4]:='° Џ®ЁбЄ *Ў®*Ґ*в*';
menu[5]:='° ‚л室';
punkt:=1; x:=35; y:=15; textattr:=7;
TelMenu;
repeat
gotoxy(34,7);
write('’Ґ«Ґд®***п Є*ЁЈ*');
ch:=ReadKey;
if ch=chr(0) then
begin
ch:=ReadKey;
case ch of
chr(80) :
if punkt<5 then
begin
gotoxy(x,y+punkt-1);
write(menu[punkt]);
punkt:=punkt+1;
textattr:=92;
gotoxy(x,y+punkt-1);
write(menu[punkt]);
textattr:=7;
end;
chr(72) :
if (punkt<=5) and (punkt>1) then
begin
gotoxy(x,y+punkt-1);
write(menu[punkt]);
punkt:=punkt-1;
textattr:=92;
gotoxy(x,y+punkt-1);
write(menu[punkt]);
textattr:= 7;
end;
end;
end
else
if ch=chr(13) then
begin
case punkt of
1 : punkt1;
2 : punkt2;
3 : punkt3;
4 : punkt4;
5 : ch:=chr(27) ;
end;
TelMenu;
end;
until ch= chr(27) ;
close(f);
End.[/COLOR]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог