Народ мне срочно нужно прогу сдать, а я не знаю в чём дело, она не работает, помогите плиз. (это прога в Delphi) Задание: В файле храняться сведения об автомобилях: фамилия владельца,марка авто,номер авто.Прочитать из файла и записать в виде массива все имеющиеся сведения.Упорядочить массив по фамилиям владельцев.Результаты преобразований вывести на экран.
program Project2; {$APPTYPE CONSOLE} uses SysUtils; type avt = record str=string[30]; fam: str; mar: str; nomer: str; arr=array of avt; ff:file of avt var f:ff; ar:arr; p:char; procedure chtenie (var f:ff; var ar: arr; var i: integer); var name: str; begin writeln ('Vvedite name of file'); assignfile (f, name); if fileexists (name) then begin reset(f):i=1; while not eof(f) do begin setlength(ar,i); read (f,ar [i-1]); i:=i+1; end; close file (f); end else writeln ('File ne sozdan') end;
procedure vyvod(ar:arr;i:integer); var j:integer; begin if i=0 tnen writeln ('Massiv pust'); else for j=0 to i-1 do begin 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; begin for j=0 to i-2 do for k:j+1 to i-1 do begin if ar[j].Fam > ar[k].Fam then begin 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=0 to i-1 do write (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 - 6.11.2006 21:19