program base; {Алантьев группа 4941 1 курс}{Курсовая работа на языке Pascal} Uses Crt; Type tipmoto=record F:string[30]; i:string[30]; o:string[30]; g:string[30]; d:string[30]; c:string[30]; m:string[30]; co:string[30]; k:string[30]; go:string[30]; end; var h:char; F0,f2: file of tipmoto; FF:tipmoto; nom:integer; mmm,mm:string; keysearch:string[30]; procedure poisk; begin nom:=0; assign(f0,mm); reset(f0); clrscr; gotoxy(30,2);writeln('Поиск по фамилии'); writeln; gotoxy(30,4);writeln('Введите фамилию: '); readln(keysearch); while not eof(f0) do begin FF.F:=''; FF.i:=''; FF.o:=''; FF.g:=''; FF.d:=''; FF.c:=''; FF.m:=''; FF.co:=''; FF.k:=''; FF.go:=''; read(f0,FF); if FF.f=keysearch then begin write('',FF.f); write('',FF.i); write('',FF.o); write('',FF.g); write('',FF.d); write('',FF.c); write('',FF.m); write('',FF.co); write('',FF.k); write('',FF.go); nom:=nom+1; end; end; close(f0); writeln; writeln; gotoxy(30,5);writeln('Поиск завершен, найдено записей',nom); writeln; {write('Нажмите любую клавишу'); readkey;} clrscr; End; Procedure dobav; Begin clrscr; reset(f0); Seek(F0,filesize(f0));textcolor(5); gotoxy(30,2);Writeln('номер машины=',filesize(f0)+1); textcolor(7); gotoxy(30,4);Write('1- фамилия=');readln(Ff.f); gotoxy(30,5);Write('2- имя=');readln(Ff.i); gotoxy(30,6);Write('3- отчество=');readln(Ff.o); gotoxy(30,7);Write('4-год рождения=');readln(Ff.g); gotoxy(30,8);Write('5- цена=');readln(Ff.c); gotoxy(30,9);Write('6- марка=');readln(Ff.m); gotoxy(30,10);Write('7- цвет=');readln(Ff.co); gotoxy(30,11);Write('8- класс=');readln(Ff.k); gotoxy(30,12);Write('9-год выпуска=');readln(Ff.go); Write(F0,ff); Close(F0); clrscr; End; Procedure redaktor; Begin repeat clrscr; reset(f0); seek(f0,nom); read(f0,ff); textcolor(3); gotoxy(30,4);Write('1- фамилия=');Writeln(Ff.f); gotoxy(30,5);Write('2- имя=');Writeln(Ff.i); gotoxy(30,6);Write('3- отчество=');Writeln(Ff.o); gotoxy(30,7);Write('4-год рождения=');Writeln(Ff.g); gotoxy(30,8);Write('5- цена=');Writeln(Ff.c); gotoxy(30,9);Write('6- марка=');Writeln(Ff.m); gotoxy(30,10);Write('7- цвет=');Writeln(Ff.co); gotoxy(30,11);Write('8- класс=');Writeln(Ff.k); gotoxy(30,12);Write('9-год выпуска=');Writeln(Ff.go); textcolor(11); gotoxy(30,15);Write('ESC-выход'); gotoxy(30,1);Write('Номер записи=',nom+1); gotoxy(20,14);write('Какое поле вы хотите изменить'); h:=readkey; case h of '1':begin gotoxy(45,4);Write('1- фамилия=');Readln(Ff.f);end; '2':begin gotoxy(45,5);Write('2- имя=');Readln(Ff.i);end; '3':begin gotoxy(45,6);Write('3- отчество=');Readln(Ff.o);end; '4':begin gotoxy(45,7);Write('4- год рождения=');Readln(Ff.g);end; '5':begin gotoxy(45,8);Write('5- цена=');Readln(Ff.c);end; '6':begin gotoxy(45,9);Write('6- марка=');Readln(Ff.m);end; '7':begin gotoxy(45,10);Write('7- цвет=');Readln(Ff.co);end; '8':begin gotoxy(45,11);Write('8- класс=');Readln(Ff.k);end; '9':begin gotoxy(45,12);Write('9- год выпуска=');Readln(Ff.go);end; #27: exit; end; clrscr; seek(f0,nom); write(f0,ff); until h=#27; close(f0); clrscr; End; Procedure ydal; Begin clrscr; assign(f2,mmm); Reset(F0); rewrite(f2); Seek(F0, 0); while not eof(f0) do begin read(f0,ff); if filepos(f0)<>nom+1 then write(f2,ff); end; Close(F0); Close(f2); erase(f0); rename(f2,mm); End; BEGIN mm:='c:\ydalitt'; mmm:='c:\mashin'; assign(f0,mm); repeat clrscr; {$I-} reset(f0);{$I+} if IOresult<>0 then rewrite(f0); close(f0); textcolor(13); writeln('Меню:'); writeln('1-показать запись'); writeln('2-удалить запись'); writeln('3-вставить запись'); writeln('4-Поиск записей'); writeln('5-выход'); write('Выберите: '); h:=readkey; case h of '1': begin writeln; write('какой номер записи='); read(nom); nom:=nom-1; redaktor; end; '3': begin dobav;end; '2': begin writeln; write('какой номер записи='); read(nom); nom:=nom-1; ydal; end; '4': begin poisk;end; end; until h='5'; END.