46893 (607978)

Файл №607978 46893 (База данных "Сотрудники")46893 (607978)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Волжский университет имени В.Н.Татищева

Кафедра “Информатика и системы управления”




КУРСОВАЯ РАБОТА

по дисциплине : “Алгоритмизация и языки программирования”

Тема: База данных “Сотрудники”

Выполнил: студент гр. ИС-104

Григорьев А. В.

Преподаватель: Матвеева Н.В.








Тольятти 2006

Оглавление

  1. Задание, на основе которого выполняется курсовая работа

  2. Описание предметной области

  3. Описание алгоритма задачи

Приложение 1 (листинг программы)

Приложение 2 (распечатка структуры базы данных)

Приложение 3 (распечатка результатов решения задачи по данным контрольного примера.)

1. Задание, на основе которого выполняется курсовая работа

Сотрудники

ОПИСАНИЕ

Программа должна использовать массив данных о сотрудниках небольшой фирмы (до 10 сотрудников). По каждому сотруднику вводится следующая информация:

  • Фамилия, имя, отчество;

  • Год и дата рождения;

  • Пол;

  • Стаж работы по специальности;

  • Домашний адрес;

  • Телефон;

  • Должность;

  • Оклад.

Информация о сотрудниках фирмы хранится в файле workers.dat.

Программа содержит следующие процедуры и функции:

• Новый сотрудник (предназначена для ввода данных о новом сотруднике и сохранении её в файле workers.dat);

• Уволить (удаляет информацию об уволенном сотруднике из массива данных);

• Просмотреть (позволяет просмотреть информацию о сотрудниках в алфавитном порядке);

• Упорядочить (упорядочивает список сотрудников в порядке убывания величины оклада);

• Найти (выводит на экран список сотрудников, работающих в указанной должности, например инженером).

В программе разрешается использовать дополнительные файлы, облегчающие просмотр и поиск требуемой информации о сотруднике.

ВХОД

Имя вызываемой процедуры должно вызываться из списка пунктов меню по номеру пункта.

Информация о новом сотруднике вводится в диалоге типа "Введите фамилию сотрудника:" и т.д.

Процедура Уволить запрашивает ввод фамилии И.О. увольняемого сотрудника.

Процедура Просмотреть должна ожидать нажатия "горячей" клавиши перехода к информации об очередном сотруднике в списке.

Процедура Найти запрашивает ввод должности по выбору пользователя.

ВЫХОД

Процедура Просмотреть по каждому нажатию "горячей" клавиши выводит полную информацию об очередном сотруднике из алфавитного списка.

Процедура Упорядочить выводит на экран список из фамилии И.О. и окладов сотрудников в порядке убывания величины оклада.

Процедура Найти выводит на экран список сотрудников, работающих в указанной должности.

ОШИБКИ

Ошибочный ввод информации, правильность которой компьютер в состоянии проверить, должен приводить к отказу от неправильного ввода с выходом на повторный ввод этой же информации.

2. Описание предметной области

В настоящее время появляется много новых маленьких и больших фирм и предприятий для регистрации и хранения данных о служащих фирмы или предприятия необходимо иметь специальную программу для того, чтобы упростить работу отдела кадров данного предприятия или фирмы.

Моя программа специально разработана для таких фирм и предприятий. Аналоговые программы стоят достаточно дорого. Моя же программа стоит намного дешевле и легко доступна для любого пользователя.

Моя программа хороша тем, что она легка в обращении небольших размеров и имеет все необходимое для регистрирования служащего. Этой программой может пользоваться даже человек, который не разу не седел за компьютером, достаточно только прочитать инструкцию(описание алгоритма задачи). Программист, который в дальнейшем будет обслуживать мою программу, для того чтобы разобраться в программе, нужно прочитать “описание алгоритма задачи”.

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

begin

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);

end;

Procedure DinToFile; {Из дин. памяти в файл}

begin

If Top<>nil then

begin

Assign(sotrud,'sotrudn.dat');

Rewrite(sotrud);

Cur:=Top;

repeat

Write(sotrud,Cur^);

Cur:=Cur^.link;

until Cur=nil;

close(sotrud);

end;

end;

Procedure Menus; {вывод меню на экран}

var

i:integer;

begin

clrscr;

gotoxy(28,wherey); writeln('**************************');

gotoxy(28,wherey); writeln('БАЗА ДАННЫХ ПО СОТРУДНИКАМ');

gotoxy(28,wherey); writeln('**************************');

for i:=p to n do begin

gotoxy(x,y+i-1);

write ( menu[i] );

end;

{textattr - предопределенная переменная, отвечающая за цвет фона и символов}

textattr:=sel;

gotoxy(x,y+punkt-1);

write( menu[punkt] ); {выделим строку меню}

textattr:=norm;

end;

procedure forsort; {указ меняются местами}

var

rnom1:integer;

fam1:string[20];

name1:string[20];

otch1:string[20];

date1:string[20];

pol1:string[20];

stag1:integer;

adress1:string[30];

tel1:integer;

dolg1:string[20];

oklad1:integer;

begin

With Next^ do begin

rnom1:=rnom;

fam1:=fam;

name1:=name;

otch1:=otch;

pol1:=pol;

stag1:=stag;

adress1:=Adress;

tel1:=tel;

dolg1:=dolg;

oklad1:=oklad;

end;

With Next^ do begin

rnom:=Cur^.rnom;

fam:=Cur^.fam;

name:=Cur^.name;

otch:=Cur^.otch;

pol:=Cur^.pol;

stag:=Cur^.stag;

adress:=Cur^.Adress;

tel:=Cur^.tel;

dolg:=Cur^.dolg;

oklad:=Cur^.oklad;

end;

With Cur^ do begin

rnom:=rnom1;

fam:=fam1;

name:=name1;

otch:=otch1;

pol:=pol1;

stag:=stag1;

adress:=Adress1;

tel:=tel1;

dolg:=dolg1;

oklad:=oklad1;

end;

end;

procedure Sortirovka; {Сортировка по алфавиту}

begin

Cur:=Top;

While Cur<>nil do

begin

Next:=Cur^.link;

while next<>nil do

begin

if ord(Next^.fam[1]) < ord(Cur^.fam[1]) then

ForSort;

Next:=Next^.link;

end;

cur:=cur^.link;

end;

end;

procedure Uporyad; {Сортровка по окладу}

begin

Cur:=Top;

While Cur<>nil do

begin

Next:=Cur^.link;

while next<>nil do

begin

if ord(Next^.Oklad) > ord(Cur^.Oklad) then

ForSort;

Next:=Next^.link;

end;

cur:=cur^.link;

end;

end;

procedure Position(pos:integer);

var i:integer;

begin

Cur:=Top;

For i:=1 to pos do

if i<>pos then Cur:=Cur^.link;

end;

procedure punkt0; {Очистка базы}

var cc,k,ch:char; i:integer;

key:char;

begin

assign(sotrud,'sotrudn.dat');

cc:=chr(13);

{cc:=readkey;}

if cc=chr(13) then

begin

gotoxy(25,10);

writeln('Вы уверены,что хотите удалить базу????');

gotoxy(25,11);

Writeln('Enter-ДА, Esc-НЕТ');

key:=readkey;

if key=chr(13) then

begin

gotoxy(11,4);

write('0%');

gotoxy(63,4);

write('100%');

gotoxy(13,4);

for i:=1 to 20 do

begin

write('=');

delay(500);

end;

for i:=21 to 34 do

begin

write('=');

delay(1300);

end;

for i:=35 to 50 do

begin

write('=');

delay(200);

end;

rewrite(sotrud);

gotoxy(32,18);

write('База очищена');

gotoxy(32,19);

write('Нажмите клавишу Esc');

end;

end;

end;

procedure punkt1; {Новый сотрудник}

var k,ch:char;

begin

clrscr;

gotoxy(12,wherey);writeln('*************************************');

gotoxy(12,wherey);writeln('Добавьте в базу информацию о новом сотруднике - "Enter"');

gotoxy(12,wherey);writeln('*************************************');

ch:=readkey;

if ch<>chr(27) then

Характеристики

Тип файла
Документ
Размер
247,23 Kb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее