Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Помогите составить программу
Создать массив - библиотечный каталог; хранящий информацию о 15 книгах. Библиотечная карточка содержит следующую информацию:автор, название, год издания, специальность.Упорядочить массив по фамилии автора. Найти фамилии авторов, чьи книги имеются более чем по одной специальности.
есть похожий код:
Code

uses
SysUtils;
type
pack=record
NAZ:string[80];
FAM:string[40];
SPEC:string[60];
YEA:integer;
end;
tf=file of pack;
var
s:string;
j,a,b,p:integer;
f:tf;
q:pack;
label na4;
begin
s:='katalog.dat';
assign(f,s);
try
reset(f);
except
rewrite(f);
end;
na4:
writeln('add record=1, read file=2, exit=0,clear file=3,vivesti po avtoru=4');
try
readln(p);
except
p:=-1;
end;
if (p<0)or(p>4) then begin
writeln('takoj komandi net');
goto na4;
end;

if p=0 then begin close(f); exit; end;
if p=1 then begin
seek(f,filesize(f));
a:=a xor a;
write('SPECIALNOST: ');
Readln(q.spec);
write('NAZVANIE: ');
readln(q.naz);
write('FAMILY: ');
readln(q.fam);
write('YEAR: ');
try
readln(q.yea);
write(f,q);
writeln('zapis dobavlena');
except
writeln('zapis ne verna');
writeln('zapis otmenena');
end;
readln;
goto na4;
end;
if p=2 then begin
seek(f,0);
while not eof(f) do
begin
writeln;
writeln;
read(f,q);
writeln('NAZVANIE: ',q.naz);
writeln('FAMILY: ',q.fam);
writeln('YEAR: ',q.yea);
Writeln('SPECIALNOST: ',q.spec);
end;

writeln('file viveden');
readln;
goto na4;
end;
if p=3 then begin
writeln('vi uvereni? vvedite "delete"');
readln(s);
if s='delete' then
begin
close(f);
rewrite(f);
writeln('file o4is4en');
end;
goto na4;
end;
if p=4 then begin
writeln('vvedite avtora');
readln(s);
seek(f,0);
while not eof(f) do
begin
read(f,q);
if s=q.fam then begin
writeln;
writeln;
writeln('NAZVANIE: ',q.naz);
writeln('FAMILY: ',q.fam);
writeln('YEAR: ',q.yea);
Writeln('SPECIALNOST: ',q.spec);
end;
end;

writeln('avtor viveden');
readln;
goto na4;
end;
end.


sLip
1 | Автор: AvoqzT | 2012-12-05, 22:46 | Изменено: AvoqzT - Ср, 2012-12-05, 23:37   |  Репутация: [ + 0 ]
Думаю тут записи больше подойдут..

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2012-12-05, 23:29   |  Репутация: [ + 211 ]
  • Страница 1 из 1
  • 1
Поиск: