| program sdfsa;
uses crt;
 type str=string;
 student=record
 Fam:string[25];
 Name:string[25];
 Shifr:string[25];
 end;
 newfile=file of student;
 var a,size,i,j:byte;
 st:student;
 f1:newfile;
 fam:str;
 
 
 Procedure my_vin(x1,y1,x2,y2:integer);
 begin
 window(1,1,80,25);
 textbackground(white);
 clrscr;
 window(x1-2,y1-1,x2+2,y2+1);
 textbackground(red);clrscr;
 window(x1,y1,x2,y2);
 textbackground(black);clrscr;
 textcolor(15);
 end;
 Procedure stud(name:str; var f:newfile);
 begin
 my_vin(15,5,65,21);
 gotoxy(8,3); write('Введите данные про нового студента');
 gotoxy(11,4); write('Фамилия    ');readln(st.fam);
 gotoxy(13,6); write('Имя    ');readln(st.name);
 gotoxy(13,7); write('Шифр группы    ');readln(st.shifr);
 assign(f,name);
 reset(f);
 size:=filesize(f);
 seek(f,size);
 write(f,st);
 gotoxy(16,17); write('Данные сохранены');
 close(f);
 readln;
 end;
 Procedure vivod(name:str;var f:newfile);
 begin
 my_vin(15,5,7,14);
 gotoxy(2,4); write('Фамилия');
 gotoxy(12,4); write('Имя    ');
 gotoxy(22,4); write('Шифр группы    ');
 assign(f,name);
 reset(f);
 size:=filesize(f);
 writeln;
 j:=5;
 for i:=1 to size do
 begin
 j:=j+1;
 seek(f,i-1); read(f,st);
 gotoxy(2,j); write(st.fam);
 gotoxy(12,j); write(st.name);
 gotoxy(22,j); write(st.shifr);
 
 writeln;
 end;
 readln;end;
 
 
 Procedure poisk(name:str; var f: newfile);
 begin
 my_vin(15,5,7,14);
 readln(fam);
 clrscr;
 gotoxy(2,4); write('Фамилия');
 gotoxy(12,4); write('Имя    ');
 gotoxy(22,4); write('Шифр группы    ');
 assign(f,name);
 reset(f);
 size:=filesize(f1);
 writeln;
 j:=5;
 for i:=1 to size do begin
 seek(f,i-1); read(f,st);
 if fam=st.fam then begin
 j:=j+1;
 gotoxy(2,j); write(st.fam);
 gotoxy(12,j); write(st.name);
 gotoxy(22,j); write(st.shifr);
 end;
 writeln;
 end;
 readln;
 end;
 Procedure menu;
 Begin
 my_vin(17,7,63,20);
 gotoxy(7,2);write('       Выберите пункт меню');
 gotoxy(7,4);write('1.Добавить новые данные');
 gotoxy(7,6);write('2.Просмотр всех данных');
 gotoxy(7,8); write('3.Поиск данных');
 gotoxy(7,10); write('4.Удалить все данные');
 gotoxy(7,12); write('5.Выход');
 gotoxy(22,13);
 end;
 
 Procedure delete(name:str; var f:newfile);
 begin
 assign(f,name);
 rewrite(f);
 close(f);
 end;
 
 begin
 clrscr;
 repeat
 Menu;
 readln(a);
 Case a of
 1:stud('f:\f2.man',f1);
 2:vivod('f:\f2.man',f1);
 3:poisk('f:\f2.man',f1);
 4:begin
 delete('F:\f2.man',f1);
 gotoxy(17,13);
 write('Данные удалены');
 readkey;
 end;
 end;
 until a=5;
 end.
 
 |