Структурная диаграмма и спецификация программного комплекса. Данные для тестирования программного комплекса, страница 10

write('-',buf.year);

gotoxy(7, 9); write('ФИО: '); write(buf.fio);

gotoxy(7, 11); write('Год рождения: '); write(buf.byear);

gotoxy(7, 13); write('Пол: ');

if buf.gender=1 then write('мужской') else write('женский');

gotoxy(7, 15); write('Образование: ');

case buf.edu of

1: write('высшее');

2: write('среднее специальное');

3: write('среднее');

4: write('неполное среднее');

5: write('начальное');

end; {case buf.edu}

gotoxy(7, 17); write('Специальность: '); write(buf.spec);

gotoxy(7, 19); write('Стаж работы (полных лет): ');

write(buf.exp);

bottom(6); {вывод строки состояния}

ch:=readkey;

if ch=#13 then

begin

repeat {ввод дня с проверкой правильности}

flag:=true; dd:=edit_num(11, buf.day);

if (dd<1) or (dd>31) then

begin

errors(1); flag:=false;

end; {if (dd<1) or (dd>31)}

until(flag);

repeat {ввод месяца с проверкой правильности}

flag:=true; mm:=edit_num(12, buf.month);

if (mm<1) or (mm>12) then

begin

errors(2); flag:=false;

end; {if (mm<1) or (mm>12)}

until(flag);

repeat {ввод года с проверкой правильности}

flag:=true; gggg:=edit_num(13, buf.year);

if (gggg<curyear-25) or (gggg>curyear) then

begin

errors(3); flag:=false;

end; {if (gggg<curyear-25) or (gggg>curyear)}

until(flag);

repeat {ввод фио с проверкой правильности}

flag:=true; fio:=edit_str(14, buf.fio);

if fio='' then

begin

errors(4); flag:=false;

end; {if fio=''}

until(flag);

repeat {ввод года рождения с проверкой правильности}

flag:=true; bgggg:=edit_num(15, buf.byear);

if (bgggg<curyear-100) or (bgggg>curyear) then

begin

errors(5); flag:=false;

end; {if (bgggg<curyear-100) or (bgggg>curyear)}

until(flag);

repeat {ввод пола с проверкой правильности}

flag:=true; gender:=edit_num(16, buf.gender);

if (gender=1) or (gender=2) then

else

begin

errors(6); flag:=false;

end; {else}

until(flag);

repeat {ввод вида образования с проверкой правильности}

flag:=true; edu:=edit_num(17, buf.edu);

if (edu<1) or (edu>5) then

begin

errors(7); flag:=false;

end; {if (edu<1) or (edu>5)}

until(flag);

repeat {ввод специальности с проверкой правильности}

flag:=true; spec:=edit_str(18, buf.spec);

if spec='' then

begin

errors(8); flag:=false;

end; {if spec=''}

until(flag);

repeat {ввод стажа работы с проверкой правильности}

flag:=true; exp:=edit_num(19, buf.exp);

if (exp<0) or (exp>70) then

begin

errors(9); flag:=false;

end; {if (exp<0) or (exp>70)}

until(flag);

windows(5, 3, 75, 21, 1); textbackground(12);

for x:=5 to 75 do

begin

gotoxy(x, 4); write(' ');

end; {for x:=5 to 75}

gotoxy(32, 4); textcolor(15); write('КАРТОЧКА СОИСКАТЕЛЯ');

textbackground(1); gotoxy(7, 7); write('Дата постановки на учет: ');

if dd<10 then write('0',dd,'-') else write(dd,'-');

if mm<10 then write('0',mm) else write(mm); write('-',gggg);

gotoxy(7, 9); write('ФИО: '); write(fio);

gotoxy(7, 11); write('Год рождения: '); write(bgggg);

gotoxy(7, 13); write('Пол: ');

if gender=1 then write('мужской') else write('женский');

gotoxy(7, 15); write('Образование: ');

case edu of

1: write('высшее');

2: write('среднее специальное');

3: write('среднее');

4: write('неполное среднее');

5: write('начальное');

end; {case edu}

gotoxy(7, 17); write('Специальность: '); write(spec);

gotoxy(7, 19);

write('Стаж работы (полных лет): '); write(exp);

bottom(5); {вывод строки состояния}

ch:=readkey;

if ch=#13 then

begin

buf.fio:=fio;

buf.spec:=spec;

buf.byear:=bgggg;

buf.gender:=gender;

buf.edu:=edu;

buf.exp:=exp;

buf.day:=dd;

buf.month:=mm;

buf.year:=gggg;

assign(fildata, filename);

reset(fildata);

seek(fildata, kod);

write(fildata, buf); {запись в файл данных о соискателе}

close(fildata);

end; {if ch=#13}

end; {if ch=#13}

menu; {вызов основного меню}

end; {else}

end; {edit}

{раздел инициализации модуля}

begin

end.


{Модуль реализует выполнение третьего пункта главного меню – формирование и отображение меню отчётов.}

unit agthird;

{интерфейсная часть модуля}