VAR
MyArray: array [1..25] of TRecord;
TWorker = Record { Запись о рабочем }
fio : string; { ФИО рабочего }
shop : string; { Наименование цеха }
money : Word; { Размер зарплаты за месяц }
end;
uses CRT;
CONST
w_max_count = 25;
{Объявляем тип единицы хранимой информации}
TYPE
TWorker = record
Name: String [20];
Workshop: String [20];
pay: Real;
end;
VAR
workers: array[1..w_max_count] of TWorker;
count: Integer; {текущее число записей}
i: Integer;
ch: Char;
s: String;
BEGIN
count := 0;
repeat
ClrScr;
WriteLn('Добавить новую запись: 1');
WriteLn('Вывести все: 2');
WriteLn('Завершить работу: 0');
WriteLn('------------------------------');
ch:=ReadKey;
case ch of
'1': if count = w_max_count then
WriteLn('База данных полная')
else begin
count := count + 1;
Write('Введите фамилию (20 символов): ');
ReadLn(s);
workers[count].name := copy(s, 1, 20);
Write('Введите название цеха (20 символов): ');
ReadLn(s);
workers[count].workshop := copy(s, 1, 20);
Write('Размер зарплаты: ');
repeat
ReadLn(s); {В два этапа на случай ошибочного ввода}
Val(s, workers[count].pay, i);
if i <> 0 then WriteLn('Ошибка. Попробуйте еще раз');
until i = 0;
end;
'2': if count = 0 then
WriteLn('База данных пустая')
else begin
for i:=1 to count do
WriteLn(i:2,') ',
workers[i].name,' ',
workers[i].workshop,' ',
workers[i].pay:10:2);
WriteLn('Нажмите любую клавишу ...'); ReadKey
end;
end;
until (ch = '0') or (ch = #27); {#27 = символ с номером 27 - Esc}
END.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.