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

' клавишу для возврата в меню');

20: write('Нажмите любую клавишу для перехода к следующей странице');

21: write('Нажмите любую клавишу для возврата к выбору отчетов');

51: write('Нажмите любую клавишу для просмотра графиков');

61: write('Нажмите любую клавишу для просмотра диаграммы');

end; {case i}

textcolor(7); gotoxy(80, 25); textbackground(2); textcolor(15);

end; {bottom}

function errors;

begin

windows(12, 8, 65, 19, 4); textbackground(4);

gotoxy(26, 9); textcolor(15); write('! ! !  О Ш И Б К А  ! ! !'); gotoxy(14, 13);

case i of

1: write('Дата не может быть менее 1 и более 31!');

2: write('Месяц не может быть менее 1 и более 12!');

3: write('Год не может быть менее ',curyear-25,' и более текущего!');

4: write('ФИО не может быть пустым!');

5: write('Год рождения должен быть в интервале ',curyear-100,'-',curyear,'!');

6: write('Используйте цифру ''1'' для мужчин и ''2'' для женщин!');

7: write('Используйте лишь указанные цифровые значения!');

8: write('Специальность не может иметь пустое значение!');

9: write('Стаж работы не может быть менее 0 и более 70 лет!');

10: write('Соискателя с такими данными не существует!');

end; {case i}

gotoxy(14, 15); write('Пожалуйста, повторите ввод данных.');

if i=10 then bottom(10) else bottom(3); {вывод строки состояния}

errors:=readkey;

end; {errors}

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

begin

end.


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

unit agmenu;

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

interface

uses crt, agsub;

procedure menu; {процедура вывода главного меню}

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

implementation

uses agfirst, agsecond, agthird;

procedure menu;

var

ch: char;

x: integer;

flag: boolean;

begin

textbackground(7);

clrscr;

textbackground(2);

for x:=1 to 80 do

begin

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

end; {for x:=1 to 80}

gotoxy(2, 1); textcolor(15); write('Служба занятости, г. Мурманск');

repeat

flag:=true;

windows(26, 8, 53, 18, 1);

textbackground(12);

for x:=26 to 53 do

begin

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

end; {for x:=26 to 53}

gotoxy(33, 9); textcolor(15); write('РЕЖИМЫ РАБОТЫ');

textbackground(1);

gotoxy(28, 11); write('1 - добавить соискателя');

gotoxy(28, 13); write('2 - редактировать данные');

gotoxy(28, 15); write('3 - отчеты');

gotoxy(28, 17); write('4 - выход из программы');

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

ch:=readkey;

if (ch='1') or (ch='2') or (ch='3') or (ch='4') then flag:=true else flag:=false;

until(flag);

case ch of

'1': newcomp; {вызов процедуры ввода нового соискателя}

'2': edit; {вызов процедуры редактирования данных соискателя}

'3': reports; {вызов меню отчетов}

'4': exit; {выход из программы}

end; {case ch}

end; {menu}

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

begin

end.


{Модуль отвечает за ввод данных нового соискателя и редактирование данных соискателей, уже присутствующих в базе данных.}

unit aginput;

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

interface

uses crt, agsub;

function edit_num (i: word; num: integer): integer; {функция редактирования числовых данных}

function edit_str (i: word; str: string): string; {функция редактирования строковых данных}

function add_num (i: word): integer; {функция добавления числовых данных}

function add_str (i: word): string; {функция добавления строковых данных}

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

implementation

function edit_num;

var

dat, code: integer;

test: string;

begin

repeat

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

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

case i of

11:

begin

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

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

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

end; {11}

12:

begin

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

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

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

end; {12}

13:

begin

gotoxy(14, 13); write('Год постановки на учет (в формате ГГГГ): ',num);

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

end; {13}