program lol; uses crt, windos; label metka1, metka2, metka3, metka4, metka5, metka6; const old='price.dat'; type Pprice=record Pname:string[20]; Pvalue:real; end; var price:file of Pprice; newprice:file of Pprice; p:pprice; i,n,z,x:integer; procedure vivod; begin reset(price); writeln; writeln('⥪�騥 �����: ':25); writeln; while not eof(price) do begin read(price,p); write(p.pname:15); writeln(p.pvalue:10:2); writeln; end; close(price); end; begin clrscr; begin {' otkritie '} setcurdir('D:'); assign(newprice,'D:\newprice.dat'); assign(price,'D:\price.dat'); end; begin metka5: writeln('����':20); writeln('������ ᮧ����� 䠩� - 0':30); writeln('ᮧ���� ���� 䠩� - 1':30); writeln('�������� ������ - 2':30); writeln('।������ ������ - 3':30); writeln('㤠���� ������ - 4':30); write('��� - 5 ':32); readln(i); if i=0 then begin clrscr; reset(price); writeln; writeln('䠩� �����':20); vivod; goto metka5; end; if i=1 then begin clrscr; rewrite(price); writeln('䠩� ᮧ���'); goto metka5; end; if i=2 then goto metka1; if i=3 then goto metka2; if i=4 then goto metka3; if i=5 then goto metka6; end; begin {' dobavlenie '} metka1: reset(price); seek(price,filesize(price)); write('������ �������� ⮢�� '); read(p.pname); write('������ 業� '); read(p.pvalue); write(price,p); write('�������� �� ������? �� - 1, ��� - 0 '); readln(n); if n=1 then goto metka1; close(price); goto metka4; end; begin {' i3menenie '} metka2: reset(price); write('������ ����� ��ப� ��� ।������� '); readln(i); seek(price,i-1); write('������ �������� ⮢�� '); read(p.pname); write('������ 業� '); read(p.pvalue); write(price,p); write('�� ।������? �� - 1, ��� - 0 '); readln(n); if n=1 then goto metka2; close(price); clrscr; goto metka4; end; begin {' ydalenie '} metka3: setcurdir('D:'); reset(price); rewrite(newprice); write('������ ����� ��ப� ��� 㤠����� '); readln(i); setcurdir('D:'); while not eof(price) do begin read(price,p); if filepos(price)<>i then write(newprice,p); end; close(newprice); close(price); erase(price); rename(newprice,old); assign(price,'D:\price.dat'); write('�� 㤠����? �� - 1, ��� - 0 '); readln(n); if n=1 then goto metka3; goto metka4; end; begin {' vixod k menu '} metka4: clrscr; vivod; write('�뢥�� ���� - 1, ��室 - 0 '); readln(n); if n=1 then goto metka5; end; metka6: end.