нужно, чтобы красиво появлялись пункты меню....и заглавие вылетало.....очень прошу..программу написать написала, а как с графикой быть не знаю((((
program biblioteka;
uses crt;
const n=100;
label menu;
type knigi=record
janr:string[12];
avtor:string[20];
nazvanie:string[30];
izdatelstvo:string[15];
god_izdaniya:word;
end;
var
zap:knigi;
z1,z:array[1..n] of knigi;
jan:string[12];
av:string[20];
m,l,l1:integer;
s:real;
procedure vvod(var a:array of knigi; var l:integer);
var i:integer;
ff:file of knigi;
begin
Assign(ff,'C:\tp7\bin\knigi.dat');
reset(ff);
i:=1;
while not eof (ff) do
begin
read(ff,a[i]);
i:=i+1;
end;
l:=i-1;
close(ff);
end;
procedure vvod_KL(var a:knigi);
var
ff:file of knigi;
begin
writeln('введите жанр');
readln(a.janr);
writeln('введите автора*');
readln(a.avtor);
writeln('введите название');
readln(a.Nazvanie);
writeln('введите издательство');
readln(a.izdatelstvo);
writeln('введите год издания');
readln(a.god_izdaniya);
Assign(ff, 'C:\tp7\bin\knigi.dat');
Rewrite(ff);
write(ff,a);
close(ff);
end;
procedure Vivod(var zap:knigi);
var
k:knigi;
f:file of knigi;
i:integer;
begin
vvod(z,l);
l:=l+1;
z[l]:=zap;
Assign(f, 'C:\tp7\bin\knigi.dat');
rewrite(f);
for i:=1 to l do
write(f,z[i]);
Close(f);
end;
procedure Vvod_fl(var zap:knigi);
var
name:string;
k:knigi;
f:text;
ff:file of knigi;
i:integer;
begin
gotoxy(15,23);
write('введите имя файла: ');
readln(name);
writeln;
Assign(f,name );
Vvod(z,l);
Assign(ff,'C:\tp7\bin\knigi.dat');
Rewrite(ff);
Reset(f);
for i:=1 to l do
write(ff,z[i]);
while not Eof(f) do
begin
Read(f,zap.janr);
write(zap.janr);
Read(f,zap.avtor);
write(zap.avtor);
Read(f,zap.nazvanie);
write(zap.nazvanie);
Read(f,zap.izdatelstvo);
write(zap.izdatelstvo);
Readln(f,zap.god_izdaniya);
write(zap.god_izdaniya);
writeln;
write(ff,zap);
end;
Close(f);
Close(ff);
end;
procedure vivod_sp(var a:array of knigi; k:integer);
var i:integer;
begin
for i:=1 to k do
begin
write(a[i].janr);
write('*',a[i].avtor);
write(a[i].nazvanie);
write(a[i].izdatelstvo,' ');
write(a[i].god_izdaniya);
writeln;
end;
end;
procedure janr;
var j,i:integer;
m:string[12];
begin
write('какой жанр вы желаете увидеть? ');
readln(m);
vvod(z,l);
for j:=1 to l do
for i:=1 to l-j do
begin
if z[i].avtor>z[i+1].avtor then
begin
zap:=z[i];
z[i]:=z[i+1];
z[i+1]:=zap;
end;
end;
l1:=0;
for i:=1 to l do
if z[i].janr=m then
begin
l1:=l1+1;
z1[l1]:=z[i];
end;
j:=0;
av:=z1[1].avtor;
for i:=1 to l1 do
begin
if z1[i].avtor=av then
begin
j:=j+1;
end
else
begin
writeln(' Количество книг = ',j);
j:=1;
av:=z1[i].avtor;
end;
{write(z[i].janr); }
write(j,'. ');
write(z1[i].avtor);
write(z1[i].nazvanie);
write(z1[i].izdatelstvo,' ');
write(z1[i].god_izdaniya);
writeln;
end;
writeln(' Количество книг = ',j);
end;
pocedure avtor;
var i:integer;
s,ss:string[20];
begin
write('Какого автора вы желаете увидеть? ');
readln(s);
vvod(z,l);
for i:=1 to l do
begin
ss:=z[i].avtor;
if s=ss then
begin
write(z[i].janr);
write(z[i].avtor);
write(z[i].nazvanie);
write(z[i].izdatelstvo,' ');
write(z[i].god_izdaniya);
writeln;
end;
end;end;
procedure nazvanie;
var i:integer;
m:string[30];
begin
write('Какое название книги желаете увидеть? ');
readln(m);
vvod(z,l);
for i:=1 to l do
begin
if z[i].nazvanie=m then
begin
write(z[i].janr);
write(z[i].avtor);
write(z[i].nazvanie);
write(z[i].izdatelstvo,' ');
write(z[i].god_izdaniya);
writeln;
end;
end;end;
procedure izdatelstvo;
var i:integer;
m:string[15];
begin
write('Какое издательство хотите увидеть? ');
read(m);
vvod(z,l);
for i:=1 to l do
begin
if z[i].izdatelstvo=m then;
begin
write(z[i].janr);
write(z[i].avtor);
write(z[i].nazvanie);
write(z[i].izdatelstvo,' ');
write(z[i].god_izdaniya);
writeln;
end;
end;end;
procedure god_izdaniya;
var i:integer;
m:word;
begin
write('Какой год издания желаете увидеть');
read(m);
vvod(z,l);
for i:=1 to l do
begin
if z[i].god_izdaniya=m then
begin
write(z[i].janr);
write(z[i].avtor);
write(z[i].nazvanie);
write(z[i].izdatelstvo,' ');
write(z[i].god_izdaniya);
writeln;
end;
end;end;
begin
menu:
clrscr;
gotoxy(25,1);
writeln('Библиотека*');
gotoxy(15,3);
write('1.выборка по жанру');
gotoxy(15,5);
write('2.выборка по автору');
gotoxy(15,7);
write('3.выборка по издательству');
gotoxy(15,9);
write('4.ввод с клавиатуры');
gotoxy(15,11);
write('5.ввод из файла');
gotoxy(15,13);
write('6.вывод всего списка записей');
gotoxy(15,15);
write('7.удаление записей');
gotoxy(15,17);
write('8.выход');
gotoxy(15,21);
readln(m);
case m of
1:janr;
2:avtor;
3:izdatelstvo;
4:Vvod_KL(zap);
5:Vvod_fl(zap);
6: begin
vvod(z,l);
Vivod_sp(z,l);
end;
7:writeln('удаление записей');
8:halt;
end;
write('для выхода нажмите <Enter>');
readln;
goto menu;
end.