В программе нужно сделать регистрацию товара и вывод списка товаров отсортированных по алфавиту...
У меня получается так, что когда я регистрирую новый товар, на выводе он выводит себя несколько раз+ стирает предыдущий =\ что я не так сделал?
program a;
uses crt;
type
rega=record
num:integer;
name:string;
har:string;
data:integer;
garant:integer;
cenao:integer;end;
var
out:file of rega;
nam:rega; buf:rega;
i,j:integer;
mass:array[1..20] of rega;
procedure registration;begin
clrscr;
assign(out,'firma.dat');
reset(out);
write ('Введите регистрационный номер:');
readln(nam.num);
write ('Введите наименование');
readln (nam.name);
write ('Введите характеристику');
readln (nam.har);
write ('‚Введите дату производства:');
readln (nam.data);
write ('Введите срок гарантии');
readln (nam.garant);
writeln ('Введите оптовую цену:');
readln (nam.cenao);
seek(out,filesize(out));
write(out,nam);
close(out);
end;
procedure prosmotr;
var t,k:integer; begin clrscr;
assign(out,'firma.dat');
reset(out);
t:=filesize(out);
for i:=1 to t-1 do
if mass[i].name>mass[i+1].name then begin
buf:=mass[i];
mass[i]:=mass[i+1];
mass[i+1]:=buf;
end;
rewrite (out);
for i:=1 to t do
write (out,mass[i]);
close(out);
reset(out);
while not eof(out) do
begin
read(out,buf);
writeln (nam.name);
end;
close(out);
readln;
end;
{здесь процедура меню}
begin
menu;
end.