Народ мне срочно нужно прогу сдать, а я не знаю в чём дело, она не работает, помогите плиз. (это прога в 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
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 = 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; closefile (f); end else writeln ('File ne sozdan') end;
procedure vyvod(ar:arr;i:integer); var j: integer; begin if i=0 then 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]:=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:=0 to i-1 do write (f,ar[j]); closefile(f) end;
var i: integer; begin 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.
Гость
22.12.2005 22:04
Спасибо, всё оке!!!! Я тормоз!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.