Народ мне срочно нужно прогу сдать, а я не знаю в чём дело, она не работает, помогите плиз. (это прога в Delphi) Задание: В файле храняться сведения об автомобилях: фамилия владельца,марка авто,номер авто.Прочитать из файла и записать в виде массива все имеющиеся сведения.Упорядочить массив по фамилиям владельцев.Результаты преобразований вывести на экран.
program Project2;
{$APPTYPE CONSOLE}uses
SysUtils;
type
avt = record
str=string[30];
fam: str;
mar: str;
nomer: str;
arr=arrayof avt;
ff:fileof avt
var f:ff;
ar:arr;
p:char;
procedure chtenie (var f:ff; var ar: arr; var i: integer);
varname: str;
begin
writeln ('Vvedite name of file');
assignfile (f, name);
if fileexists (name) thenbegin
reset(f):i=1;
whilenot eof(f) dobegin
setlength(ar,i);
read (f,ar [i-1]);
i:=i+1;
end;
close file (f);
endelse
writeln ('File ne sozdan')
end;
procedure vyvod(ar:arr;i:integer);
var j:integer;
beginif i=0 tnen writeln ('Massiv pust');
elsefor j=0to i-1dobegin
writeln (ar[j].fam);
writeln (ar[j].mar);
writeln (ar[j].nomer);
end;
end;
procedure sort (var ar:arr; i:integer);
var j,k: integer;
m:avt;
beginfor j=0to i-2dofor k:j+1to i-1dobeginif ar[j].Fam > ar[k].Fam thenbegin
m:ar[j];
ar[j]:=a[k];
a[k]:=m;
end;
end;
end;
procedure sozdanie (var ar:arr; var i:integer);
var p:char;
begin
i=1;
repeat
setlength(ar,i);
writeln('Vvedite familiu');
readln(ar[i-1].fam);
writeln('Vvedite mapky avto');
readln(ar[i-1].mar);
writeln('Vvedite nomer avto');
readln(ar[i-1].nomer);
i:i+1;
writlen('Prodolzhit?);
readln(p);
until p='n';
i:=i-1;
end;
procedure save (var f:ff; ar:arr;i:integer);
var j:integer;
name:str;
begin
writeln('Vvedite name of file');
readln(name);
assignfile(f,name);
rewrite(f);
for j=0to i-1dowrite (f,ar[j]);
closefile(f)
end;
begin{ TODO -oUser -cConsole Main : Insert code here }repeat
writeln('1-Prochitat');
writeln('2-Vivesti na ekran');
writeln('3-Sortirovat');
writeln('4-Sozdanie massiva');
writeln('5-Save in file');
writeln('Q-vihod')'
writeln('Vvedite neohodimyi punkt menu');
readln(p);
case p of'1':chtenie(f,ar,i);
'2':vyvod(ar,i);
'3':sort(ar,i);
'4':sozdanie(ar,i);
'5':save(f,ar,i);
end;
until p='q';
end.
volvo
22.12.2005 20:23
Ну, я не знаю, работает ли программа, но теперь она по крайней мере компилируется...
program Project2;
{$APPTYPE CONSOLE}uses SysUtils;
type
str = string[30];
avt = record
fam: str;
mar: str;
nomer: str;
end;
arr = arrayof avt;
ff = fileof avt;
var
f: ff;
ar: arr;
p: char;
procedure chtenie(var f: ff; var ar: arr; var i: integer);
varname: str;
begin
writeln ('Vvedite name of file');
assignfile(f, name);
if fileexists(name) thenbegin
reset(f); i:=1;
whilenot eof(f) dobegin
setlength(ar,i);
read (f,ar [i-1]);
i:=i+1;
end;
closefile (f);
endelse writeln ('File ne sozdan')
end;
procedure vyvod(ar:arr;i:integer);
var
j: integer;
beginif i=0then writeln ('Massiv pust')
elsefor j:=0to i-1dobegin
writeln (ar[j].fam);
writeln (ar[j].mar);
writeln (ar[j].nomer);
end;
end;
procedure sort (var ar:arr; i:integer);
var
j, k: integer;
m: avt;
beginfor j:=0to i-2dofor k:=j+1to i-1dobeginif ar[j].Fam > ar[k].Fam thenbegin
m:=ar[j]; ar[j]:=ar[k]; ar[k]:=m;
end;
end;
end;
procedure sozdanie (var ar:arr; var i:integer);
var
p: char;
begin
i:=1;
repeat
setlength(ar,i);
writeln('Vvedite familiu'); readln(ar[i-1].fam);
writeln('Vvedite mapky avto'); readln(ar[i-1].mar);
writeln('Vvedite nomer avto'); readln(ar[i-1].nomer);
i:=i+1;
writeln('Prodolzhit?'); readln(p);
until p='n';
i:=i-1;
end;
procedure save (var f:ff; ar:arr;i:integer);
var
j: integer;
name: str;
begin
writeln('Vvedite name of file'); readln(name);
assignfile(f,name); rewrite(f);
for j:=0to i-1dowrite (f,ar[j]);
closefile(f)
end;
var
i: integer;
beginrepeat
writeln('1-Prochitat');
writeln('2-Vivesti na ekran');
writeln('3-Sortirovat');
writeln('4-Sozdanie massiva');
writeln('5-Save in file');
writeln('Q-vihod');
writeln('Vvedite neohodimyi punkt menu');
readln(p);
case p of'1':chtenie(f,ar,i);
'2':vyvod(ar,i);
'3':sort(ar,i);
'4':sozdanie(ar,i);
'5':save(f,ar,i);
end;
until p='q';
end.
Гость
22.12.2005 22:04
Спасибо, всё оке!!!! Я тормоз!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.