В настоящее время появляется много новых маленьких и больших фирм и предприятий для регистрации и хранения данных о служащих фирмы или предприятия необходимо иметь специальную программу для того, чтобы упростить работу отдела кадров данного предприятия или фирмы.
Моя программа специально разработана для таких фирм и предприятий. Аналоговые программы стоят достаточно дорого. Моя же программа стоит намного дешевле и легко доступна для любого пользователя.
Моя программа хороша тем, что она легка в обращении небольших размеров и имеет все необходимое для регистрирования служащего. Этой программой может пользоваться даже человек, который не разу не седел за компьютером, достаточно только прочитать инструкцию(описание алгоритма задачи). Программист, который в дальнейшем будет обслуживать мою программу, для того чтобы разобраться в программе, нужно прочитать “описание алгоритма задачи”.
3. Описание алгоритма задачи
Для пользователя данной программы:
Чтобы запустить программу, нужно войти в файл 1-kyrs.exe , либо войти в файл 1-kyrs.pas и нажать в ней клавиши “Ctrl+F9” .
Программа выглядит как меню, состоящее из множества пунктов. По меню можно передвигаться с помощью клавиш “стрелка вниз” и “стрелка вверх”, выйти из меню можно с помощью нажатия клавиши “Esc” либо нажать пункт меню “Выход”. Вход в пункты меню происходит при нажатии клавиши “Enter”. При входе в какой либо пункт меню, по программе вызывается соответствующая процедура.
При входе в программу данные, хранящиеся в файле, автоматически открываются. Для того, чтобы уволить какого ни будь служащего, необходимо войти в пункт меню «Уволить сотрудника». При выходе из программы, данные автоматически сохраняются.
Для того чтобы ввести информацию о новом служащем необходимо войти в пункт меню “Новый сотрудник” и ввести информацию о новом сотруднике.
ФИО - может состоять не более чем из 60 символов.
Дата рождения - не более 15 символов.
Пол - пол писать полностью
Стаж работы - в годах.
Адрес - 30 символов.
Телефон - писать без тире.
Должность - 20 символов.
Размер оклада - неограниченное число.
В случае если что-либо было введено неправильно произойдёт выход из программы, с потерей всех несохранённых данных.
“Просмотреть список” - выводит список всех сотрудников в алфавитном порядке, после вывода каждого сотрудника нужно нажать клавишу “Enter”.
“Найти сотрудника” - Ищет служащего по введенной должности
“Уволить сотрудника” - стирает служащего по введенному регистрационному номеру и Ф.И.О.
“Очистить базу”- удаляет всех сотрудников
Примечание:
В программе имеются подсказки с правой стороны экрана.
Для программиста:
Программа состоит из множества процедур, которые вызываются из пунктов меню.
Пользовательские типы:
worker - тип динамической памяти типа base;
base - тип - запись(информация о сотрудниках);
sotrud - для работы с файлами типа base.
Используемые процедуры:
Punct1 - по этой процедуре осуществляется занесение служащего в файл.
Punkt3 - вывод списка в алфавитном порядке. Сортировка происходит по полю “fam”;
Punkt4 - по этой процедуре производится сортировка списка по величине оклада.
Punkt5 - выводит служащего с указанной должностью . Вводится нужная должность и при обходе списка происходит сравнение по полю “dolg” и вывод этой записи;
Punkt2 - удаление записи из списка (удаление происходит по введённому пользователем регистрационному номеру и Ф.И.О.);
Punkt0 - в этой процедуре происходит перезапись файла и обнуление односвязного списка.
Приложение 1
Листинг программы
program kursovaia;
uses crt;
const norm=$74; {цвет не выделенного пункта}
norm1=$8;
sel=$31; {цвет выделенного пункта}
sel1=$15;
type
{-------------------описание записи----------------}
Worker = ^base;
base=record
rnom:integer; {РЕГИСТРАЦИОННЫЙ НОМЕР}
fam:string[20]; {ФАМИЛИЯ}
name:string[20]; {ИМЯ}
otch:string[20]; {ОТЧЕСТВО}
date:string[20]; {ДАТА РОЖДЕНИЯ}
pol:string[20]; {ПОЛ}
stag:integer; {СТАЖ РАБОТЫ}
adress:string[30]; {ДОМАШНИЙ АДРЕС}
tel:integer; {ТЕЛЕФОН}
dolg:string[20]; {ДОЛЖНОСТЬ}
oklad:integer; {ОКЛАД}
link:worker;
{--------------------------------------------------}
end;
var
Top,Cur,Next,Prev:Worker;
menu:array[1 .. 11] of string[50]; {Меню}
punkt:integer; {}
ch,cc:char; {Введенный символ}
sotrud:file of base;
buf,buf1:base; {Два буфер обмена}
k,m:char;
p,n,x,y,i:integer; {}
Procedure FileToDin; {Из файла в динам. память}
begin
top:=nil;
Assign(sotrud,'sotrudn.dat');
{$I-}
Reset(sotrud);
If IOResult<>0 then
rewrite(sotrud);
end
{$I+}
else
if filesize(sotrud)<>0 then
repeat
New(Cur);
Read(sotrud,Cur^);
Cur^.link:=Top;
Top:=Cur;
until eof(sotrud);
close(sotrud);
Procedure DinToFile; {Из дин. памяти в файл}
If Top<>nil then
Rewrite(sotrud);
Cur:=Top;
Write(sotrud,Cur^);
Cur:=Cur^.link;
until Cur=nil;
Procedure Menus; {вывод меню на экран}
i:integer;
clrscr;
gotoxy(28,wherey); writeln('**************************');
gotoxy(28,wherey); writeln('БАЗА ДАННЫХ ПО СОТРУДНИКАМ');
Страницы: 1, 2, 3