Создать программу для начальника отдела кадров, которая со-держит информацию о сотрудниках: фамилия, должность, воз-раст (лет), стаж работы в этой фирме и месячный оклад. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (в первой строке – фамилия, во второй – должность и т.д..). Создать с помощью программы текстовый файл, в который введите информацию не менее, чем о 10 сотрудниках — Pascal(Паскаль)

uses crt;
var  f:text;
 
procedure rec; \\Процедура записи данных в файл
var fio, work, buf:string;
    age, year:byte;
    oklad:word;
begin
clrscr;
{$I-}
append(f); \\Пытаемся открыть файл
{$I+}
if IOResult<>0 then rewrite(f); \\Если файла нет создаем новый
 
writeln('Введите фамилию:');
readln(fio);
writeln(f,fio);
 
writeln('Введите должность:');
readln(work);
writeln(f,work);
 
writeln('Введите возраст:');
readln(age);
str(age,buf);
writeln(f,buf);
 
writeln('Введите стаж работы:');
readln(year);
str(year,buf);
writeln(f,buf);
 
writeln('Введите оклад');
readln(oklad);
str(oklad,buf);
writeln(f,buf);
 
close(f); \\Закрываем файл
end;
 
procedure wr; \\Процедура вывода из файла на экран
var i:byte;
    buf:string;
    flag:boolean;
    ch:char;
begin
clrscr;
{$I-}
reset(f); \\Пытаемся открыть файл
{$I+}
if IOResult=0 then \\Если файл существует, то...
begin
repeat
clrscr;
flag:=false;
for i:=1 to 5 do \\Считываем сотрудников по одному
begin
readln(f,buf);
writeln(buf);
end;
writeln;
if not eof(f) then writeln('Enter - Следующий сотрудник');
writeln('Esc   - Выйти в меню');
ch:=readkey;
if (ord(ch)=27)or(eof(f)) then flag:=true;
until flag;
 
close(f); \\Закрываем файл
end else begin \\Если файл не был найден, то сообщаем об этом:
    writeln('FILE NOT FOUND!!!');
    writeln;
    write('Press any key to continue...');
    repeat
    until keypressed;
    end;
 
end;
 
procedure menu; \\Процедура меню
var c:char;
begin
clrscr;
writeln('1   - Ввод данных в файл');
writeln('2   - Просмотр данных');
writeln('Esc - Выход');
c:=readkey;
case c of
'1': rec; \\ввод данных
'2': wr;  \\просмотр данных
end;
if ord(c)<>27 then menu; \\если не Esc, то заново вызываем процедуру меню,
end;                             \\ иначе - возвращаемся в тело основной программы
 
begin
clrscr;
assign(f,'baza.txt'); \\Привязываем наш файл к физическому пути
menu; \\Вызываем процедуру меню
end.

Leave a Comment

− 3 = 3