Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 00:36, курсовая работа
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.
end
else
gw(pl,d,i);
Inc(i);Inc(d);
if (d>23) or (d1>23) then
begin
writeln;
writeln('Dlj prodolzhenij nazhmite lybuy klavishu...');
readkey;
end;
end;
if sel=0 then
begin gotoxy(1,d);write('|-----|----
else
begin gotoxy(1,d1);write('|-----|---
writeln;
writeln('Dlj prodolzhenij nazhmite lybuy klavishu...');
close(f);
readkey;
end;
{=============================
procedure menu;
begin
clrscr;
gotoxy(25,7);write('========== Menu ==========');
gotoxy(25,8);write('|| Sozdat fail | F2 ||');
gotoxy(25,9);write('|| Dobavit zapis | F4 ||');
gotoxy(25,10);write('|| Vivod vseh dannih | F5 ||');
gotoxy(25,11);write('|| Vihod | ESC ||');
gotoxy(25,12);write('=========
end;
{=============================
procedure write_data(l:integer);
var ok:boolean;
f:fil;
pl:pole;
begin
clrscr;
assign(f,bd);
if l=0 then
begin
rewrite(f);
writeln('Fail dannih '+BD+' sozdan zanovo');
writeln('---------------------
end
else
begin
reset(F);
end;
ok:=false;
writeln('Dlj vihoda nazhmite ESC, dlj prodolzhenij ENTER');
repeat
case readkey of
#27: begin ok:=true; end;{ESC}
#13: begin
if l=1 then seek(F,Filesize(F));
writeln('Dobavlenie spiska');
writeln('-----------------');
with pl do
begin
write('Vvedite familiy - ');
readln(fam);
write('Vvedite imj - ');
readln(name);
write('Vvedite otchestvo - ');
readln(otch);
Write('Vvedite izdanie - ');
readln(izd);
repeat
write('Vvedite cenu na knigu: ');
readln(cena);
until (cena>0);
repeat
write('Vvedite skidku na knigu: ');
readln(skidka);
until (skidka>=0) and (skidka<=100);
repeat
write('Itogo cena na rasprodazhe:');
raspr:=cena-(cena*(skidka/100)
writeln(raspr:6:2);
until (raspr>=0);
end;
write(F,pl);
writeln;
writeln('Dlj vihoda nazhmite ESC, dlj prodolzhenij ENTER');
end;
end;
until ok;
close(F);
end;
{=============================
procedure del;
var ok:boolean;
f,f1:fil;
pl:pole;
a:integer;
begin
clrscr;
assign(f,bd);
assign(f1,'$temp$.tmp');
rewrite(f1);
reset(f);
writeln ('Vvedite kolichestvo udaljemih zapisei:');
read (a) ;
seek(f,a);
while not eof(f) do
begin
read(f,pl);
write(f1,pl);
end;
reset(f1);
rewrite(f);
while not eof(f1) do
begin
read(f1,pl);
write(f,pl);
end;
close(f1);erase(f1);
close(F);
writeln('Udalenie zapisi');
writeln('Nazhmite lubou klavishu...');
readkey;
end;
{=============================
begin
menu;
stop:=false;
repeat
case readkey of
#27: begin exit; stop:=true; end;{ESC}
#0: case readkey of
#60:begin write_data(0); menu; end;{F2}
#62:begin write_data(1); menu; end;{F4}
#63:begin OUTPUT(0); menu; end;{F5}
#65:begin del; menu; end; {F7}
end;
end;
until stop;
readln;
end.
ПРИЛОЖЕНИЕ В
«Разработка программы»
Результаты работы программы
Рисунок В.1 – Главное меню
Рисунок В.2 – Заполнение списка
Рисунок В.3 – Вывод данных о книгах на экран
Рисунок В.5 – Добавление записи в список
Рисунок В.6 – Вывод данных после добавления
Рисунок В.9 – Удаление записи по заданному ключу
Рисунок В.10 – Вывод данных списка после удаления записи