Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:курсач 2 семестр / MY_CURSE
.PAS program My_Curse;
uses dos,graph,crt;
type group=record
Group:string[30];
Style:string[30];
Country:string[30];
Albums:1..15;
RLabel:string[30];
Rating:1..5;
end;
const t:array[1..7] of string[15]=('„®ЎлўЁвм ЈагЇЇг','Џа®б¬®ва Ў §л','Џ®ЁбЄ ЈагЇЇл',
'“¤ «Ёвм ЈагЇЇг','ђҐ¤ ЄвЁа®ў ЁҐ ¤ ле','‘®авЁа®ўЄ ',
'‚л室 Ё§ Їа®Ја ¬¬л');
var Reg : Registers;
f:file of group;
a:array[1..1000] of ^group;
gd,gm:integer;
i,y,xm,ym:integer;
procedure MoveMouse(var X, Y: Integer);
begin
repeat
Reg.AX:=$05;
Reg.BX:=$00;
Intr($33,Reg);
until Reg.BX = 1;
X:=Reg.CX;
Y:=Reg.DX;
end;
procedure ShowCursor;
begin
Reg.AX:=$01;
Intr($33, Reg);
end;
procedure CloseCursor;
begin
Reg.AX:=$02;
Intr($33, Reg);
end;
procedure setmouserange(x1,y1,x2,y2:integer);
begin
x1:=x1*2;
x2:=x2*2;
Reg.ax:=$07;
Reg.cx:=x1;
Reg.dx:=x2;
intr($33,Reg);
Reg.ax:=$08;
Reg.cx:=y1;
Reg.dx:=y2;
intr($33,Reg);
end;
procedure swap(var a,b:group);
var c:group;
begin c:=a; a:=b; b:=c;
end;
function ravno(s,t:string):boolean;
var i:integer;
begin ravno:=true;
for i:=1 to length(s) do
if s[i]<>t[i] then ravno:=false
end;
procedure vvod;
var i,j,n:integer;ch:char;
Begin
closegraph;
writeln('********************************');
writeln('*„®Ўлў«ҐЁҐ ®ў®© ЈагЇЇл ў Ў §г*');
writeln('********************************');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
repeat
inc(i);
new(a[i]);
write('Ќ §ў ЁҐ: ');
readln(a[i]^.group);
write('‘вЁ«м: ');
readln(a[i]^.style);
write('‘ва : ');
readln(a[i]^.country);
write('Љ®«ЁзҐбў® «мЎ®¬®ў: ');
readln(a[i]^.albums);
write('‹Ґ©Ў«: ');
readln(a[i]^.Rlabel);
write('ђҐ©вЁЈ: ');
readln(a[i]^.Rating);
writeln;
write('‚ўҐбвЁ ҐйҐ? (y/n): ');
readln(ch);
until ch='n';
n:=i;
for j:=1 to n do
for i:=1 to n-j do
if a[i]^.group > a[i+1]^.group then swap(a[i]^,a[i+1]^);
rewrite(f);
for i:=1 to n do write(f,a[i]^);
close(f);
End;
procedure vew;
var i,n:integer;ch:char;
Begin
closegraph;
writeln('***************');
writeln('*Џа®б¬®ва Ў §л*');
writeln('***************');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
i:=0;
repeat
inc(i);
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
writeln('‘вЁ«м: ',a[i]^.style);
writeln('‘ва : ',a[i]^.country);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
writeln('ђҐ©вЁЈ: ',a[i]^.Rating);
writeln;
if i<>n then begin
write('Ї®Є § вм б«Ґ¤гойго? (y/n): ');
readln(ch);end
else ch:='n';
writeln;
until (ch='n');
Write('Ќ ¦¬ЁвҐ «оЎго Є« ўЁиг ¤«п ўл室 ў Ј« ў®Ґ ¬Ґо');
readln;
End;
procedure poisk;
var s:string; i,n:integer; ch:char;
Begin
closegraph;
writeln('**************************');
writeln('*Џ®ЁбЄ ЈагЇЇл Ї® §ў Ёо*');
writeln('**************************');
writeln('ЏаЁ¬Ґз ЁҐ: Ї® ўў®¤Ґ §ў Ёп ЁбЄ®¬®© ЈагЇЇл, ўў®¤вҐ Є ¦¤®Ґ ®в¤Ґ«м®Ґ б«®ў® б § Ј« ў®© ЈагЇЇл');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
repeat
writeln;
write('‚ўҐ¤ЁвҐ §ў ЁҐ ЈагЇЇл: ');
readln(s);
writeln;
i:=0;
repeat
inc(i);
until ravno(s,a[i]^.group) or (i=n);
if not ravno(s,a[i]^.group) then writeln('’ Є®© ЈагЇЇл ў Ў §Ґ Ґв');
if ravno(s,a[i]^.group) then
begin
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
writeln('‘вЁ«м: ',a[i]^.style);
writeln('‘ва : ',a[i]^.country);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
writeln('ђҐ©вЁЈ: ',a[i]^.rating);
end;
writeln;
write('€бЄ вм ҐйҐ? (y/n): ');
readln(ch)
until (ch='n')
End;
procedure del;
var s:string; i,j,n:integer; ch:char;
Begin
closegraph;
writeln('************************');
writeln('*“¤ «Ёвм ЈагЇЇг Ё§ Ў §л*');
writeln('************************');
writeln('ЏаЁ¬Ґз ЁҐ: Ї® ўў®¤Ґ §ў Ёп г¤ «пҐ¬®© ЈагЇЇл, ўў®¤вҐ Є ¦¤®Ґ ®в¤Ґ«м®Ґ б«®ў® б § Ј« ў®© ЈагЇЇл');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
repeat
write('‚ўҐ¤ЁвҐ §ў ЁҐ г¤ «пҐ¬®© ЈагЇЇл: ');
readln(s);
writeln;
i:=0;
repeat
inc(i);
until ravno(s,a[i]^.group) or (i=n);
if not ravno(s,a[i]^.group) then writeln('’ Є®© ЈагЇЇл Ґв');
if ravno(s,a[i]^.group) then
begin
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
writeln('‘вЁ«м: ',a[i]^.style);
writeln('‘ва : ',a[i]^.country);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
writeln('ђҐ©вЁЈ: ',a[i]^.rating);
writeln;
write('“¤ «Ёвм? (y/n): ');
readln(ch);
if ch='y' then
begin
for j:=i to n-1 do
a[j]^:=a[j+1]^;
if j=n then
Dispose(a[j]);
end;
end;
writeln;
write('“¤ «Ёвм ҐйҐ? (y/n): ');
readln(ch)
until ch='n';
rewrite(f);
for i:=1 to n-1 do write(f,a[i]^);
close(f)
End;
procedure edit;
var s:string; i,j,n,kod:integer; ch:char;
p:array[1..8] of string[30];
Begin
closegraph;
writeln('***********************');
writeln('*ђҐ¤ ЄвЁа®ў ЁҐ ¤ ле*');
writeln('***********************');
writeln('ЏаЁ¬Ґз ЁҐ: Ї® ўў®¤Ґ §ў Ёп । ЄвЁа㥬®© ЈагЇЇл, ўў®¤вҐ Є ¦¤®Ґ ®в¤Ґ«м®Ґ б«®ў® б § Ј« ў®© ЈагЇЇл');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
repeat
writeln;
write('‚ўҐ¤ЁвҐ §ў ЁҐ ЈагЇЇл: ');
readln(s);
writeln;
i:=0;
repeat
inc(i);
until ravno(s,a[i]^.group) or (i=n);
if not ravno(s,a[i]^.group) then writeln('’ Є®© ЈагЇЇл ў Ў §Ґ Ґв');
if ravno(s,a[i]^.group) then
begin
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[1]);
writeln('‘вЁ«м: ',a[i]^.style);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[2]);
writeln('‘ва : ',a[i]^.country);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[3]);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[4]);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[5]);
writeln('ђҐ©вЁЈ: ',a[i]^.Rating);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[6]);
writeln;
write('‘®еа Ёвм Ё§¬ЁҐЁп? (y/n): ');
readln(ch);
if ch='y' then
begin
if p[1]<>'' then a[i]^.group:=p[1];
if (p[2]<>'') then a[i]^.style:=p[2];
if p[3]<>'' then a[i]^.country:=p[3];
if (p[4]<>'') and ((p[4,1] in ['1'..'9']) or ((p[4,1]='1') and (p[4,2] in ['0'..'5']))) then
val(p[4],a[i]^.albums,kod);
if p[5]<>'' then a[i]^.Rlabel:=p[5];
if (p[6]<>'') and (p[6,1] in ['1'..'5']) then val(p[6,1],a[i]^.rating,kod);
end;
end;
writeln;
write('ђҐ¤ ЄвЁа®ў вм ҐйҐ? (y/n): ');
readln(ch)
until ch='n';
for j:=1 to n do
for i:=1 to n-j do
if a[i]^.group>a[i+1]^.group then swap(a[i]^,a[i+1]^);
rewrite(f);
for i:=1 to n do write(f,a[i]^);
close(f)
End;
procedure cort;
var i,j,n:integer; q:group; s:byte; ok:boolean;
Begin
closegraph;
writeln('******************************');
writeln('*‘®авЁа®ўЄ Ї® § ¤ ®¬г Ї®«о*');
writeln('******************************');
writeln;
write('‚ўҐ¤вЁвҐ Є«оз б®авЁа®ўЄЁ (‘вЁ«м-1, ‘ва -2, ‹Ґ©Ў«-3, ђҐ©вЁЈ-4): ');
readln(s);
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
for i:=n-1 downto 1 do
for j:=1 to i do
begin
case s of
1:ok:=a[j]^.style>a[j+1]^.style;
2:ok:=a[j]^.country>a[j+1]^.country;
3:ok:=a[j]^.Rlabel>a[j+1]^.Rlabel;
4:ok:=a[j]^.Rating>a[j+1]^.Rating;
end;
if ok then begin
q:=a[j]^;
new(a[j]);a[j]^:=a[j+1]^;
new(a[j+1]);a[j+1]^:=q;
end;end;
rewrite(f);
for i:=1 to n do write(f,a[i]^);
close(f);
End;
BEGIN
textcolor(15);
Writeln(' Љгаб®ў п а Ў®в ');
Writeln(' Џ® Ёд®а¬ вЁЄҐ ');
Writeln(' ‘в㤥⠣агЇЇл Ђ’-07-1 ');
Writeln(' ќ«ҐЄва®вҐеЁзҐбЄ®Ј® д Єг«мвҐв Џѓ’“ ');
textcolor(4);
Writeln(' Њ «мЄ®ў ‚пзҐб« ў ‘ҐаЈҐҐўЁз ');
textcolor(15);
Writeln;
Writeln(' ’Ґ¬ Єгаб ў®© а Ў®вл: ');
textcolor(4);
Writeln(' Ѓ § ¤ ле ');
textcolor(15);
Writeln;Writeln;Writeln;Writeln;
writeln(' Џа®Ја ¬¬ : ROCK BASE vol. 1.0 ');
Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;
textcolor(14);
Write(' „«п з « а Ў®вл ¦¬ЁвҐ «оЎго Є« ўЁиг ');
textcolor(15);
readkey;
gd:=0;
assign(f,'data.pas');
setmouserange(0,0,320,480);
gd:=0;
repeat
initgraph(gd,gm,'');
cleardevice;
rectangle(0,0,150,50);
floodfill(1,1,15);
setcolor(0);
outtextXY(5,20,'ROCK BASE vol. 1.0');
setcolor(15);
y:=40;
for i:=1 to 7 do
begin
rectangle(220,y,420,y+40);
outtextxy(220+(200-length(t[i])*8) div 2,y+20,t[i]);
y:=y+60
end;
showcursor;
movemouse(xm,ym);
closecursor;
if (ym>40) and (ym<80) then vvod;
if (ym>100) and (ym<140) then vew;
if (ym>160) and (ym<200) then poisk;
if (ym>220) and (ym<260) then del;
if (ym>280) and (ym<320) then edit;
if (ym>340) and (ym<380) then cort;
until (ym>400) and (ym<440);
closegraph;
END.
uses dos,graph,crt;
type group=record
Group:string[30];
Style:string[30];
Country:string[30];
Albums:1..15;
RLabel:string[30];
Rating:1..5;
end;
const t:array[1..7] of string[15]=('„®ЎлўЁвм ЈагЇЇг','Џа®б¬®ва Ў §л','Џ®ЁбЄ ЈагЇЇл',
'“¤ «Ёвм ЈагЇЇг','ђҐ¤ ЄвЁа®ў ЁҐ ¤ ле','‘®авЁа®ўЄ ',
'‚л室 Ё§ Їа®Ја ¬¬л');
var Reg : Registers;
f:file of group;
a:array[1..1000] of ^group;
gd,gm:integer;
i,y,xm,ym:integer;
procedure MoveMouse(var X, Y: Integer);
begin
repeat
Reg.AX:=$05;
Reg.BX:=$00;
Intr($33,Reg);
until Reg.BX = 1;
X:=Reg.CX;
Y:=Reg.DX;
end;
procedure ShowCursor;
begin
Reg.AX:=$01;
Intr($33, Reg);
end;
procedure CloseCursor;
begin
Reg.AX:=$02;
Intr($33, Reg);
end;
procedure setmouserange(x1,y1,x2,y2:integer);
begin
x1:=x1*2;
x2:=x2*2;
Reg.ax:=$07;
Reg.cx:=x1;
Reg.dx:=x2;
intr($33,Reg);
Reg.ax:=$08;
Reg.cx:=y1;
Reg.dx:=y2;
intr($33,Reg);
end;
procedure swap(var a,b:group);
var c:group;
begin c:=a; a:=b; b:=c;
end;
function ravno(s,t:string):boolean;
var i:integer;
begin ravno:=true;
for i:=1 to length(s) do
if s[i]<>t[i] then ravno:=false
end;
procedure vvod;
var i,j,n:integer;ch:char;
Begin
closegraph;
writeln('********************************');
writeln('*„®Ўлў«ҐЁҐ ®ў®© ЈагЇЇл ў Ў §г*');
writeln('********************************');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
repeat
inc(i);
new(a[i]);
write('Ќ §ў ЁҐ: ');
readln(a[i]^.group);
write('‘вЁ«м: ');
readln(a[i]^.style);
write('‘ва : ');
readln(a[i]^.country);
write('Љ®«ЁзҐбў® «мЎ®¬®ў: ');
readln(a[i]^.albums);
write('‹Ґ©Ў«: ');
readln(a[i]^.Rlabel);
write('ђҐ©вЁЈ: ');
readln(a[i]^.Rating);
writeln;
write('‚ўҐбвЁ ҐйҐ? (y/n): ');
readln(ch);
until ch='n';
n:=i;
for j:=1 to n do
for i:=1 to n-j do
if a[i]^.group > a[i+1]^.group then swap(a[i]^,a[i+1]^);
rewrite(f);
for i:=1 to n do write(f,a[i]^);
close(f);
End;
procedure vew;
var i,n:integer;ch:char;
Begin
closegraph;
writeln('***************');
writeln('*Џа®б¬®ва Ў §л*');
writeln('***************');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
i:=0;
repeat
inc(i);
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
writeln('‘вЁ«м: ',a[i]^.style);
writeln('‘ва : ',a[i]^.country);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
writeln('ђҐ©вЁЈ: ',a[i]^.Rating);
writeln;
if i<>n then begin
write('Ї®Є § вм б«Ґ¤гойго? (y/n): ');
readln(ch);end
else ch:='n';
writeln;
until (ch='n');
Write('Ќ ¦¬ЁвҐ «оЎго Є« ўЁиг ¤«п ўл室 ў Ј« ў®Ґ ¬Ґо');
readln;
End;
procedure poisk;
var s:string; i,n:integer; ch:char;
Begin
closegraph;
writeln('**************************');
writeln('*Џ®ЁбЄ ЈагЇЇл Ї® §ў Ёо*');
writeln('**************************');
writeln('ЏаЁ¬Ґз ЁҐ: Ї® ўў®¤Ґ §ў Ёп ЁбЄ®¬®© ЈагЇЇл, ўў®¤вҐ Є ¦¤®Ґ ®в¤Ґ«м®Ґ б«®ў® б § Ј« ў®© ЈагЇЇл');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
repeat
writeln;
write('‚ўҐ¤ЁвҐ §ў ЁҐ ЈагЇЇл: ');
readln(s);
writeln;
i:=0;
repeat
inc(i);
until ravno(s,a[i]^.group) or (i=n);
if not ravno(s,a[i]^.group) then writeln('’ Є®© ЈагЇЇл ў Ў §Ґ Ґв');
if ravno(s,a[i]^.group) then
begin
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
writeln('‘вЁ«м: ',a[i]^.style);
writeln('‘ва : ',a[i]^.country);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
writeln('ђҐ©вЁЈ: ',a[i]^.rating);
end;
writeln;
write('€бЄ вм ҐйҐ? (y/n): ');
readln(ch)
until (ch='n')
End;
procedure del;
var s:string; i,j,n:integer; ch:char;
Begin
closegraph;
writeln('************************');
writeln('*“¤ «Ёвм ЈагЇЇг Ё§ Ў §л*');
writeln('************************');
writeln('ЏаЁ¬Ґз ЁҐ: Ї® ўў®¤Ґ §ў Ёп г¤ «пҐ¬®© ЈагЇЇл, ўў®¤вҐ Є ¦¤®Ґ ®в¤Ґ«м®Ґ б«®ў® б § Ј« ў®© ЈагЇЇл');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
repeat
write('‚ўҐ¤ЁвҐ §ў ЁҐ г¤ «пҐ¬®© ЈагЇЇл: ');
readln(s);
writeln;
i:=0;
repeat
inc(i);
until ravno(s,a[i]^.group) or (i=n);
if not ravno(s,a[i]^.group) then writeln('’ Є®© ЈагЇЇл Ґв');
if ravno(s,a[i]^.group) then
begin
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
writeln('‘вЁ«м: ',a[i]^.style);
writeln('‘ва : ',a[i]^.country);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
writeln('ђҐ©вЁЈ: ',a[i]^.rating);
writeln;
write('“¤ «Ёвм? (y/n): ');
readln(ch);
if ch='y' then
begin
for j:=i to n-1 do
a[j]^:=a[j+1]^;
if j=n then
Dispose(a[j]);
end;
end;
writeln;
write('“¤ «Ёвм ҐйҐ? (y/n): ');
readln(ch)
until ch='n';
rewrite(f);
for i:=1 to n-1 do write(f,a[i]^);
close(f)
End;
procedure edit;
var s:string; i,j,n,kod:integer; ch:char;
p:array[1..8] of string[30];
Begin
closegraph;
writeln('***********************');
writeln('*ђҐ¤ ЄвЁа®ў ЁҐ ¤ ле*');
writeln('***********************');
writeln('ЏаЁ¬Ґз ЁҐ: Ї® ўў®¤Ґ §ў Ёп । ЄвЁа㥬®© ЈагЇЇл, ўў®¤вҐ Є ¦¤®Ґ ®в¤Ґ«м®Ґ б«®ў® б § Ј« ў®© ЈагЇЇл');
writeln;
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
repeat
writeln;
write('‚ўҐ¤ЁвҐ §ў ЁҐ ЈагЇЇл: ');
readln(s);
writeln;
i:=0;
repeat
inc(i);
until ravno(s,a[i]^.group) or (i=n);
if not ravno(s,a[i]^.group) then writeln('’ Є®© ЈагЇЇл ў Ў §Ґ Ґв');
if ravno(s,a[i]^.group) then
begin
writeln('Ќ §ў ЁҐ: ',a[i]^.group);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[1]);
writeln('‘вЁ«м: ',a[i]^.style);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[2]);
writeln('‘ва : ',a[i]^.country);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[3]);
writeln('Љ®«ЁзҐбвў® «мЎ®¬®ў: ',a[i]^.albums);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[4]);
writeln('‹Ґ©Ў«: ',a[i]^.Rlabel);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[5]);
writeln('ђҐ©вЁЈ: ',a[i]^.Rating);
write('‚ўҐ¤ЁҐ ®ўго Ёд®а¬ жЁо Ё«Ё ¦¬ЁвҐ <ENTER>: ');
readln(p[6]);
writeln;
write('‘®еа Ёвм Ё§¬ЁҐЁп? (y/n): ');
readln(ch);
if ch='y' then
begin
if p[1]<>'' then a[i]^.group:=p[1];
if (p[2]<>'') then a[i]^.style:=p[2];
if p[3]<>'' then a[i]^.country:=p[3];
if (p[4]<>'') and ((p[4,1] in ['1'..'9']) or ((p[4,1]='1') and (p[4,2] in ['0'..'5']))) then
val(p[4],a[i]^.albums,kod);
if p[5]<>'' then a[i]^.Rlabel:=p[5];
if (p[6]<>'') and (p[6,1] in ['1'..'5']) then val(p[6,1],a[i]^.rating,kod);
end;
end;
writeln;
write('ђҐ¤ ЄвЁа®ў вм ҐйҐ? (y/n): ');
readln(ch)
until ch='n';
for j:=1 to n do
for i:=1 to n-j do
if a[i]^.group>a[i+1]^.group then swap(a[i]^,a[i+1]^);
rewrite(f);
for i:=1 to n do write(f,a[i]^);
close(f)
End;
procedure cort;
var i,j,n:integer; q:group; s:byte; ok:boolean;
Begin
closegraph;
writeln('******************************');
writeln('*‘®авЁа®ўЄ Ї® § ¤ ®¬г Ї®«о*');
writeln('******************************');
writeln;
write('‚ўҐ¤вЁвҐ Є«оз б®авЁа®ўЄЁ (‘вЁ«м-1, ‘ва -2, ‹Ґ©Ў«-3, ђҐ©вЁЈ-4): ');
readln(s);
reset(f);
i:=0;
while not eof(f) do
begin
inc(i);
new(a[i]);
read(f,a[i]^);
end;
n:=i;
for i:=n-1 downto 1 do
for j:=1 to i do
begin
case s of
1:ok:=a[j]^.style>a[j+1]^.style;
2:ok:=a[j]^.country>a[j+1]^.country;
3:ok:=a[j]^.Rlabel>a[j+1]^.Rlabel;
4:ok:=a[j]^.Rating>a[j+1]^.Rating;
end;
if ok then begin
q:=a[j]^;
new(a[j]);a[j]^:=a[j+1]^;
new(a[j+1]);a[j+1]^:=q;
end;end;
rewrite(f);
for i:=1 to n do write(f,a[i]^);
close(f);
End;
BEGIN
textcolor(15);
Writeln(' Љгаб®ў п а Ў®в ');
Writeln(' Џ® Ёд®а¬ вЁЄҐ ');
Writeln(' ‘в㤥⠣агЇЇл Ђ’-07-1 ');
Writeln(' ќ«ҐЄва®вҐеЁзҐбЄ®Ј® д Єг«мвҐв Џѓ’“ ');
textcolor(4);
Writeln(' Њ «мЄ®ў ‚пзҐб« ў ‘ҐаЈҐҐўЁз ');
textcolor(15);
Writeln;
Writeln(' ’Ґ¬ Єгаб ў®© а Ў®вл: ');
textcolor(4);
Writeln(' Ѓ § ¤ ле ');
textcolor(15);
Writeln;Writeln;Writeln;Writeln;
writeln(' Џа®Ја ¬¬ : ROCK BASE vol. 1.0 ');
Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;Writeln;
textcolor(14);
Write(' „«п з « а Ў®вл ¦¬ЁвҐ «оЎго Є« ўЁиг ');
textcolor(15);
readkey;
gd:=0;
assign(f,'data.pas');
setmouserange(0,0,320,480);
gd:=0;
repeat
initgraph(gd,gm,'');
cleardevice;
rectangle(0,0,150,50);
floodfill(1,1,15);
setcolor(0);
outtextXY(5,20,'ROCK BASE vol. 1.0');
setcolor(15);
y:=40;
for i:=1 to 7 do
begin
rectangle(220,y,420,y+40);
outtextxy(220+(200-length(t[i])*8) div 2,y+20,t[i]);
y:=y+60
end;
showcursor;
movemouse(xm,ym);
closecursor;
if (ym>40) and (ym<80) then vvod;
if (ym>100) and (ym<140) then vew;
if (ym>160) and (ym<200) then poisk;
if (ym>220) and (ym<260) then del;
if (ym>280) and (ym<320) then edit;
if (ym>340) and (ym<380) then cort;
until (ym>400) and (ym<440);
closegraph;
END.
Соседние файлы в папке курсач 2 семестр