ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.09.2024
Просмотров: 43
Скачиваний: 0
Додаток б (Обов’язковий) Лістинг модуля modul
Unit modul;
interface
uses Crt,Graph;
type vupysknik=record
fam:string;
nomer_d:1..999999;
ser_bal:real;
pidpr:string;
ozn:string;
end;
var f,f1:file of vupysknik;
i,nomer_d,n:integer;
st,n_pidpr:string;
z:vupysknik;
k:real;
p:integer;
v:byte;
c:char;
gd, gm, error:Integer;
s:String;
procedure Vvod;
procedure Vyvod;
procedure ramka;
procedure Dobavit;
procedure Delete;
procedure Redakt;
procedure oznaka;
implementation
procedure Vvod;
begin
Clrscr;
rewrite(f);
i:=1; st:='да';
while st='да ' do
begin
clrscr;
gotoxy(7,6);writeln('Введите данные о ',i,' ‚ВыпускникеҐ');
gotoxy(7,wherey);writeln ('Введите номер диплом :');gotoxy(7,wherey); readln (z.nomer_d);
gotoxy(7,wherey);writeln ('Введите фамилию:'); gotoxy(7,wherey); readln (z.fam);
gotoxy(7,wherey);writeln (' Введите средний бал:');gotoxy(7,wherey); readln(z.ser_bal);
gotoxy(7,wherey);writeln (' Введите место роботы которое предлогается:');gotoxy(7,wherey); readln (z.pidpr);
gotoxy(7,wherey);writeln (Признак принятия на работу на данном предприятии: ');
oznaka;
write(f,z);
i:=i+1;
textcolor(white);
gotoxy(7,20);writeln ('Хотите продолжить да/нет?');
gotoxy(7,wherey);
readln(st);
end;
close(f);
end;
procedure oznaka;
begin
repeat
gotoxy(7,wherey);
writeln('Выберите Д - да или Н - нет');
gotoxy(7,wherey);readln(c);
if c in [д','Д','d','D'] then z.ozn:='да '
else if c in ['Н','н','N','n'] then z.ozn:='нет';
until c in ['d','D','¤','„','','Ќ','N','n'];
gotoxy(7,wherey);
if z.ozn='да ' then writeln('Трудоустроен!')
else writeln(' Нетрудоустроен ');
readln;
end;
procedure ramka;
begin
gotoxy(5,5);write('№');
gotoxy(8,5); write('Фамилия’);
gotoxy(20,5); write ('№ диплом');
gotoxy(30,5); write('средний бал');
gotoxy(45,5); write('Предприятия');
gotoxy(60,5); write('Признак принятия');
writeln;
end;
procedure Vyvod;
begin
clrscr; reset(f);
gotoxy(4,2); write (chr(218),'------------------------------------------------------------------------',chr(191));
gotoxy(4,3);
writeln('Ведомость про трудоустройство выпускников по предприятиям ');
gotoxy(4,4); write (chr(192),'------------------------------------------------------------------------',chr(217));
if filesize(f)=0 then
begin
textcolor(4+16);
gotoxy(4,6); writeln('В базе нет данных!');
textcolor(7)
end
else ramka;
for i:=1 to filesize(f) do
begin
read(f,z);
gotoxy(5,wherey); write(i);
gotoxy(8,wherey); write(z.fam);
gotoxy(20,wherey); write(z.nomer_d);
gotoxy(30,wherey); write(z.ser_bal:2:2);
gotoxy(45,wherey); write(z.pidpr);
gotoxy(60,wherey); write(z.ozn); writeln;
end;
close(f); readkey;
end;
procedure Dobavit;
begin
clrscr;reset(f);seek(f,filesize(f));i:=filesize(f);
st:='¤ ';while st='¤ ' do
begin
clrscr;
gotoxy(7,4);writeln('Введите данные о добавляемом выпускнике:');
gotoxy(7,wherey);writeln ('Введите номер диплом :');gotoxy(7,wherey); readln (z.nomer_d);
gotoxy(7,wherey);writeln ('Введите фамилию:'); gotoxy(7,wherey); readln (z.fam);
gotoxy(7,wherey);writeln (' Введите средний бал:');gotoxy(7,wherey); readln(z.ser_bal);
gotoxy(7,wherey);writeln (' Введите место роботы которое предлогается:');gotoxy(7,wherey); readln (z.pidpr);
gotoxy(7,wherey);writeln (Признак принятия на работу на данном предприятии: ');
oznaka;
write(f,z);
i:=i+1;
textcolor(white);
gotoxy(7,wherey);writeln ('Хотите продолжить да/нет?');
gotoxy(7,wherey); readln(st);
end;close(f);
end;
procedure Delete;
begin
clrscr;reset(f);
gotoxy(3,2);
writeln('Ведомость про трудоустройство выпускников по предприятиям );
gotoxy(3,4);
while not (eof(f)) do
for i:=1 to filesize(f) do
begin
read(f, z);
gotoxy(3,wherey); write(i);
gotoxy(6,wherey); write(z.fam);
gotoxy(20,wherey); write(z.nomer_d);
gotoxy(35,wherey); write(z.ser_bal:2:2);
gotoxy(40,wherey); write(z.pidpr);
gotoxy(55,wherey); write(z.ozn);
writeln;end;close(f);writeln;reset(f);
gotoxy(3,wherey);writeln('Укажите номер записи:');
gotoxy(3,wherey); readln(n);
gotoxy(3,wherey);
if n>filesize(f) then write('Такой записи нет!')
else
begin
assign(f1,'f1.dat'); reset(f); rewrite(f1);
for i:=1 to filesize(f) do
begin
read(f, z);
if filepos(f)<>n then write (f1,z); end;
close(f1); close(f);
erase(f); rename (f1,'f.dat');
gotoxy(3,wherey); write('Запись удалена!!!'); end;readkey;
end;
procedure Redakt;
begin
clrscr;
gotoxy(4,2); write (chr(218),'------------------------------------------------------------------------',chr(191));
gotoxy(4,3);
writeln('Ведомость про трудоустройство выпускников по предприятиям );
gotoxy(4,4); write (chr(192),'------------------------------------------------------------------------',chr(217));
gotoxy(5,4);ramka;reset(f);
while not (eof(f)) do
for i:=1 to filesize(f) do
begin
read(f, z);
gotoxy(5,wherey); write(i);
gotoxy(8,wherey); write(z.fam);
gotoxy(20,wherey); write(z.nomer_d);
gotoxy(30,wherey); write(z.ser_bal:2:2);
gotoxy(45,wherey); write(z.pidpr);
gotoxy(60,wherey); write(z.ozn); writeln;
end;
close(f);reset(f);
gotoxy(7,wherey);writeln(''Укажите номер записи:');gotoxy(7,wherey); readln(n);
gotoxy(7,wherey);
if n>filesize(f) then write('Такой записи нет!')
else
begin
seek(f,n-1);
gotoxy(7, wherey);writeln('Введите данные о ',i,' ‚ВыпускникеҐ');
gotoxy(7,wherey);writeln ('Введите номер диплом :');gotoxy(7,wherey); readln (z.nomer_d);
gotoxy(7,wherey);writeln ('Введите фамилию:'); gotoxy(7,wherey); readln (z.fam);
gotoxy(7,wherey);writeln (' Введите средний бал:');gotoxy(7,wherey); readln(z.ser_bal);
gotoxy(7,wherey);writeln (' Введите место роботы которое предлогается:');gotoxy(7,wherey); readln (z.pidpr);
gotoxy(7,wherey);writeln (Признак принятия на работу на данном предприятии: ');
oznaka;
write (f, z);
gotoxy(7,wherey);write('Изменена !');
end;readkey;close(f);end;end.