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

15:

begin

gotoxy(14, 13); write('Год рождения (в формате ГГГГ): ',num);

gotoxy(14, 15); write('Введите новое значение: ');

end; {15}

16:

begin

gotoxy(14, 12); write('Пол: ');

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

gotoxy(14, 14); write('Введите новое значение: ');

gotoxy(14, 16); write('1 - мужской');

gotoxy(14, 17); write('2 - женский');

gotoxy(38, 14);

end; {16}

17:

begin

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

case num of

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

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

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

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

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

end; {case num}

gotoxy(14, 12); write('Введите новое значение: ');

gotoxy(14, 14); write('1 - высшее');

gotoxy(14, 15); write('2 - среднее специальное');

gotoxy(14, 16); write('3 - среднее');

gotoxy(14, 17); write('4 - неполное среднее');

gotoxy(14, 18); write('5 - начальное');

gotoxy(38, 12);

end; {17}

19:

begin

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

gotoxy(14, 15); write('Введите новое значение: ');

end; {19}

end; {case i}

readln(test);

val(test,dat,code);

until code=0;

edit_num:=dat;

end; {edit_num}

function edit_str;

var

dat: string[33];

begin

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

top(i); {вывод заголовка окна}

case i of

14:

begin

gotoxy(14, 13); write('ФИО (полностью): ',str);

gotoxy(14, 15); write('Введите новое значение:');

gotoxy(14, 16);

end; {14}

18:

begin

gotoxy(14, 12);write('Специальность: ',str);

gotoxy(14, 14); write('Введите новое значение (используйте ''-'', если нет):');

gotoxy(14, 15);

end; {18}

end; {case i}

readln(dat);

edit_str:=dat;

end; {edit_str}

function add_num;

var

dat, code: integer;

test: string;

begin

repeat

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

top(i); {вывод заголовка окна}

case i of

1: write('Дата постановки на учет (в формате ДД): ');

2: write('Месяц постановки на учет (в формате ММ): ');

3: write('Год постановки на учет (в формате ГГГГ): ');

5: write('Год рождения (в формате ГГГГ): ');

6:

begin

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

gotoxy(14, 15); write('1 - мужской');

gotoxy(14, 16); write('2 - женский');

gotoxy(19, 13);

end; {6}

7:

begin

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

gotoxy(14, 13); write('1 - высшее');

gotoxy(14, 14); write('2 - среднее специальное');

gotoxy(14, 15); write('3 - среднее');

gotoxy(14, 16); write('4 - неполное среднее');

gotoxy(14, 17); write('5 - начальное');

gotoxy(27, 11);

end; {7}

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

end; {case i}

readln(test);

val(test,dat,code);

until code=0;

add_num:=dat;

end; {add_num}

function add_str;

var

dat: string[33];

begin

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

top(i); {вывод заголовка окна}

case i of

4: write('ФИО (полностью): ');

8:

begin

write('Специальность (используйте ''-'', если ее нет):'); gotoxy(14, 15);

end; {8}

end; {case i}

readln(dat);

add_str:=dat;

end; {add_str}

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

begin

end.


{Модуль реализует выполнение первого пункта главного меню – добавление нового соискателя в базу данных.}

unit agfirst;

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

interface

uses crt, aginput, agsub, agmenu;

procedure newcomp; {процедура постановки на учет нового соискателя}

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

implementation

procedure newcomp;

var

ch: char;

dd, mm, gggg, gender, bgggg, edu, exp, s, x: integer;

fio, spec: string[33];

flag: boolean;

begin

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

flag:=true; dd:=add_num(1);

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:=add_num(2);

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:=add_num(3);

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

begin

errors(3); flag:=false;

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

until(flag);

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