Otto Khatamov
Otto Khatamov

Помогите исправить программу, пожалуйста, в паскаль АВС

Расписание электричек хранится в текстовом файле на диске. каждая запись содержит название пункта назначения, пометки типа "СВ", "ПВ","КСВ" И время отправления. написать программу, выполняющую след. условия:
1) корректировку или дополнение расписания с клавиатуры;
2)сортировку по станции назначения или по времени отправления;
3) вывод на экран информации о поездах, отходящих после введенного времени;
4) запись расписания в файл под тем же или новым именем.

Попыталась написать программу, но она работает не так как нужно. Выдает ошибки, сохраняет пустой файл и т д. Помогите исправить.
program spisoks;
uses crt; const namebd='bd.txt';
type spisok=record
punkt:string[20];
tip:string[10];
end;
type vremya=record
cas:integer;
min,n:integer;
end;
var
k,y:integer;
tbl:array[1..4] of spisok;
vr:array [1..4]of vremya;
f:Text;

procedure Make;
var l:string; i,n:integer; begin
clrscr;
writeln('создание файла');
writeln('введите имя файла');
readln(l);
assign(f,l+'.txt');
rewrite(f);
n:=0;
Repeat
n:=n+1;
Write('пункт отправления ',n,' маршрута ');
ReadLn(tbl[n].punkt);
If tbl[n].punkt <>'^' then
begin
Write('время отправления ',n,' маршрута ');
ReadLn(vr[n].cas);

Write('тип вагонов',n,' маршрута ');
ReadLn(tbl[n].tip);
end;
until tbl[n].punkt='^';
for i:=1 to n-1 do
begin
writeln(f,tbl.punkt);
writeln(f,vr.cas);
writeln (f,vr.min);
writeln(f,tbl.tip);
end;

writeln('данные успешно сохранены. нажмите Enter.'); close(f);
readln;
end;
procedure show;
var i:integer; l:string;
begin
writeln('просмотр файла');
writeln('введите имя файла');
readln(l);
assign(f,l);
reset(f);
writeln('пункт | время |тип вагона');
i:=0;
while not eof(f) do
begin
inc(i);
readln(f,tbl.punkt);
readln(f,vr.cas);
readln(f,vr.min);
readln(f,tbl.tip);
writeln(' ',tbl.punkt,'| ',vr.cas,':',vr.min,'| ',tbl.tip);
end;
readln;
close(f);
end;
Procedure Sortirovka;
var i,j,m: Integer;
p : spisok;
k : vremya;
S :string;
begin
m:=0;
writeln('Введите имя файла: ');
readln(S);
assign(f,S);
reset(f);
while not eof(f) do
begin
inc(m);
readln(f,tbl[m].punkt);
readln(f,vr[m].cas);
readln(f,vr[m].min);
readln(f,tbl[m].tip);
end;
For I:=1 to M do
Begin
For J:=1 to M-I do
Begin
if tbl[J].punkt[1] > tbl[J+1].punkt[1] then
begin
p.punkt:=tbl[J].punkt;
k.cas:=vr[J].cas+5;
k.min:=vr[J].min;
p.tip:=tbl[j].tip;

tbl[J].punkt:=tbl[J+1].punkt;
vr[J].cas:=vr[J+1].cas;
vr[J].min:=vr[J+1].min;
tbl[J].tip:=tbl[J+1].tip;

tbl[J+1].punkt:=p.punkt;
vr[J+1].cas:=k.cas;
vr[J+1].min:=k.min;
tbl[J+1].tip:=p.tip;
end;
end;
end;
writeln('*|Пункт отпр. |Час|Минута|Тип вагона|*');
For I:=1 to m do
Begin
writeln('*Пункт Отправления* ',tbl.punkt,' *Время* ',vr.cas,':',vr.min,' *Тип вагона* ',tbl.tip);
end;
writeln('Для продолжения нажмите Enter');
readln;
M:=0;
end;
begin
k:=0;
repeat
clrscr;
writeln('программа список');
writeln('1.создание');
writeln('2.показ');
writeln('3.сортировка ');
writeln('4.выход');
write('Выберите действие: ');
readln(y);
case y of
1:Make;
2:show;
3:Sortirovka;
4:k:=1;
end;
until k=1;
end.

ДМ
Дима Маркелов

паскакаля не знаю, но код стоит на pastebin.com выкладывать, а не сюда

ЛЛ
Лаврентий Лубягин

послал программу в адрес, но с типизированным файлом

Похожие вопросы
помогите исправить программу в паскале
помогите исправит ошибку в программе паскаль
помогите исправит программу паскаль
Кто сможет написать программу в ПАСКАЛЕ АВС ???
Кто сможет исправить программу в ПАСКАЛЕ АВС ???
помогите составить программу на языке Паскаль АВС,
нужна программа на паскаль авс
Программа в Паскаль авс
Помогите пожалуйста написать программу в паскале авс
Исправить программу. Паскаль