program students; uses crt,dos; label ChangeFile; type spisok = record nomer: string[6]; // Порядковый номер zach: string[7]; // Номер зачетной книжки fam: string[20]; // Фамилия imya: string[20]; // Имя otch: string[20]; //Отчество gruppa: string[8]; //Номер группы end; StudentDataBase = file of spisok; var a: StudentDataBase; i, z: integer; s: real; c:char; q:boolean; DataBase: string; k:byte; p:string; ss:string; {-------------------------------------------------> INPUT} procedure new(var a: StudentDataBase); var j: integer; zk: spisok; begin reset(a); seek(a, filesize(a)); repeat begin with zk do begin writeln; write('#................: '); readln(nomer); write('Зачетная книжка..: '); readln(zach); write('Фамилия..........: '); readln(fam); write('Имя..............: '); readln(imya); write('Отчество.........: '); Readln(otch); write('Группа...........: '); readln(gruppa); writeln; write(a, zk); writeln; writeln('Продолжить запись? Да: 1 Нет: 0'); readln(j); end; end; until j =0; close(a); end; {-----------------------------------------------> // INPUT} {-------------------------------------------------> OUTPUT} procedure output(var a: StudentDataBase); var i: integer; zk: spisok; begin with zk do begin clrscr; reset(a); writeln; writeln(' База данных "Студенты" '); writeln; writeln('==============================================================================='); writeln(' № | з/книжка | Фамилия | Имя | Отчество | Группа '); writeln('==============================================================================='); while not eof(a) do begin read(a, zk); write(nomer:6); write('|', zach: 10); write('|', fam: 17); write('|', imya: 13); write('|', otch: 18); write('|', gruppa: 8); writeln; writeln('-------------------------------------------------------------------------------'); end; writeln; writeln(' Нажмите клавишу Enter для перехода в меню...'); close(a); end; readln; end; {-----------------------------------------------> // OUTPUT} {------------------------------------------> FIND} procedure find(var a: StudentDataBase); var i: integer; zk: spisok; student: string; begin clrscr; reset(a); write('Введите данные для поиска: '); readln(student); writeln; writeln(' База данных "Студенты" '); writeln; writeln('==============================================================================='); writeln(' № | з/книжка | Фамилия | Имя | Отчество | Группа '); writeln('==============================================================================='); while not eof(a) do begin with zk do begin read(a, zk); if (zach = student) or (fam=student) or (imya=student) or (otch=student) or (gruppa=student) then begin write(nomer:6); write('|', zach: 10); write('|', fam: 17); write('|', imya: 13); write('|', otch: 18); write('|', gruppa: 8); writeln; writeln('-------------------------------------------------------------------------------'); end; end; end; close(a); writeln; writeln(' Нажмите клавишу Enter для перехода в меню...'); readln; end; {------------------------------------------> // FIND} begin changefile: {------------------------------------------> LOADING} clrscr; write('Укажите имя загружаемой базы: '); readln(DataBase); repeat clrscr; assign(a, DataBase); {------------------------------------------> // LOADING} // временно отключил {-------> MENU} write('Disk Size: ', DiskSize(0) div 1024 div 1024, ' Мбайт'); writeln; write('Current File: ', DataBase); writeln; writeln('Menu: '); writeln; writeln('1: New Record(-s)'); writeln('2: Output Record(-s)'); writeln('3: Find Record(-s)'); writeln('4: Change File | отключил'); writeln('5: Exit'); writeln('6: Delete File'); writeln('7: Add Record(-s) | не работает'); writeln('8: Delete Record(-s) | не работает'); writeln('9: Current Record: | не работает'); readln(z); case z of 1: new(a); 2: output(a); 3: find(a); 4: goto changefile; 5: q:=true; 6: begin erase(a); writeln; write('File ', Database, ' was deleted'); readln; end; end; until q; end.