Очень нужно решить задачу на паскале. Имеется список фамилий(который читается из файла), который упорядочен по алфавиту. Мне нужно добавить новую фамилию. Все спокойно добавляет, но! Мне нужно, чтоб и "моя" фамилия автоматический заняла правильно место в списке. А то пишу Павлов, а он в конец отображает. Помоготи, очень надо!!!
program St;
uses Crt;
type
student=record
name:string[50];
group:byte;
mark:char;
end;
var
f:file of student;
Procedure Menu;
forward;
Procedure Viewlist;
var i:byte;
s:student;
begin
reset(f);
Clrscr;
writeln(\'‘Имя \');
writeln(\'N\':3,\'” ¬Ё«Ёп\':31,
\'Возраст\':7,\'Пол\':
;
i:=0;
while not eof(f) do
begin
i:=i+1;
read(f,s);
writeln(i:3,s.name:31,s.group:7,s.mark:7);
end;
menu;
end;
Procedure add;
var s:student;
begin
write(\'имя \');
readln(s.name);
write(\'‚возраст \');
readln(s.group);
write(\'пол \');
readln(s.mark);
while not eof(f) do
read(f,s);
writeln(s.name, s.group);
seek(f,filesize(f));
write(f,s);
menu;
end;
Procedure Menu;
var c:char;
begin
writeln(\'0-выход\');
writeln(\'1-просмотр\');
writeln(\'2-добавить \');
c:=readkey;
case c of
\'0\':exit;
\'1\':Viewlist;
\'2\':add;
end;
end;
begin
assign(f,\'exam2.dat\');
reset(f);
clrscr;
menu;
end.
к сожалению, у меня нет файла exam2.dat, но смысл в том, что там стояли фамилии в алфавитном порядке.
Ребят, очень надо!!! извините за оффтопик!!!