Программное обеспечение деятельности отдела кадров

 

Содержание


Введение

1. Описание программы

1.1 Общие сведения

1.2 Функциональное назначение

1.3 Описание алгоритма функционирования программы

1.4 Логическая структура

1.4.1 Диаграмма Классов

1.4.2 Алгоритмы программы

1.5 Используемые технические и программные средства

1.6. Вызов и загрузка

1.7 Входные данные

1.8 Выходные данные

2. Программа и методика испытаний

2.1 Цель испытаний

2.2 Требования к программе

2.3 Средства и порядок испытаний

3. Руководство системного программиста

3.1 Назначение и условия применения программы

3.2 Характеристика программы

3.3 Структура программы

3.5 Дополнительные возможности

4. Руководство оператора

Заключение

Приложения

Аннотация


Задача курсовой работы - написать программное средство для реализации работы отдела кадров. Программа предназначена для работников отдела и автоматизации рабочего процесса с рабочими и их данными. Цель, которая ставится при написании программы - создать ПО, построенное на основах ООП и STL, предоставляющее пользователю доступный и простой интерфейс, и позволяющую заносить данные о рабочих и местах их прошлых работ.

Введение


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

1. Описание программы


1.1 Общие сведения


Обозначение и наименование программы - программное средство для реализации работы отдела кадров.

Для работы данной программы необходима операционная система не ниже Windows 98.

Программа разработана на языке высокого уровня C++. Язык С++, сохранив средства языка С, ввёл в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название "объектно-ориентированное программирование".


1.2 Функциональное назначение


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


1.3 Описание алгоритма функционирования программы


Программное обеспечение не взаимодействует с другим ПО.

Основные действия пользователя в программе представлены следующими пунктами:

. Выбор нужного пункта в меню.

. Просмотр информации.

. Возможность добавления информации.

. Выход из программы.

При осуществлении перечисленных операций система взаимодействует с текстовыми документами с информацией, хранящейся в папке с программой.

Данный алгоритм является достаточно простым и доступным для программной реализации и применения (Рис.1.).


Рис.1. Схема алгоритмов работы программы

.Происходит чтение информации из файла

2.Происходит вывод меню на экран

.Происходит чтение кода команд

.Происходит внесение из файла Work в вектор C Work

.Происходит внесение из файла Worker в вектор C Worker

.Происходит внесение из файла Docent в вектор CDocent

.Происходит запись из вектора CWork в файл

.Происходит запись из вектора CWorker в файл

.Происходит запись из вектора CDocent в файл

.Происходит вывод содержимого вектора CWork на экран

.Происходит вывод содержимого вектора CWorker на экран

.Происходит вывод содержимого вектора CDocent на экран

.Происходит запись в вектор CWork нового содержимого

.Происходит запись в вектор CWorker нового содержимого

.Происходит запись в вектор CDocent нового содержимого

.Происходит завершение работы программы


1.4 Логическая структура


1.4.1 Диаграмма Классов

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

Разработанный класс CWork:

Класс CWork (список информации о прошлых местах работы) служит для хранения данных о прошлых местах работы.

Разработанный класс CWork:

Имя: CWork.

Ответственность: хранение и выдача информации о прошлых местах работы

Свойства:

std:: vector <CWorker *> pr; хранит связывающий вектор для работников

int WorkBegin; хранит информацию о дате начала работы

int WorkEnd; хранит информацию о дате окончания работы

char Work [20]; хранит информацию о должности

char WorkPlace [25]; хранит информацию о месте работы

char Reason [40]; хранит информацию о причине увольнения

Операции

int getWorkBegin (void); возвращает значение даты начала работы

void setWorkBegin (int AWorkBegin); изменяет значение даты начала работы

int getWorkEnd (void); возвращает значение даты конца работы

void setWorkEnd (int AWorkEnd); изменяет значение даты конца работы

char *getWork (void); возвращает значение должности

void setWork (char *AWork); изменяет значение должности

char *getWorkPlace (void); возвращает значение места работы

void setWorkPlace (char *APlace); изменяет значение места работы

char *getReason (void); возвращает значение причины увольнения

void setReason (char *AReason); изменяет значение причины увольнения

void AddWorkerIntoWork (CWorker *g) запись новой информации в вектор для места работы

void RemoveWorker (CWorker * g); удаление информации из вектора места работы

int CountWorkerInWork (); подсчет количества записей о местах работы

void WriteV (); вывод содержимого вектора на экран для мест работ

void WriteFV (std:: ofstream &t); вывод содержимого вектора в файл для мест работ

void ReadFV (std:: ifstream &t); чтения объектов из файла в вектор для мест работRead () считывания информации c консоли для мест работWrite () вывод информации об объекте на экран для мест работReadF (std:: ifstream &f) считывание информации из файлового потока для мест работWriteF (std:: ofstream &f) записи информации в текстовый файл для мест работ

CWork (); конструктор по умолчанию для мест работ

CWork (CWork & As); конструктор копирования для мест работ

CWork (int AWorkBegin, int AWorkEnd, char *AWork, char *AWorkPlace, char *AReason); инициализация полей в конструкторе для мест работ

Разработанный класс CWorker:

Класс CWorker (информация о билетах) служит для хранения данных о билетах.

Имя: CWorker.

Ответственность: хранение и выдача информации о работниках

Свойства:

int PersonID; хранит информацию о персональном ИД

char *Family; хранит информацию о фамилии

char Birth [12]; хранит информацию о дате рождения

Операции:

int getPersonID (void); возвращает значение персонального ИД

void setPersonID (int APersonID); изменяет значение персонального ИД

char *getFamily (void); возвращает значение фамилии

void setFamily (char *AFamily); изменяет значение фамилии

char *getBirth (void); возвращает значение даты рождения

void setBirth (char *ABirth); изменяет значение даты рождения

void Read () считывания информации c консоли для класса CWorkerWrite () вывод информации об объекте на экран для класса CWorkerReadF (std:: ifstream &f) считывание информации из файлового потока для класса CWorkerWriteF (std:: ofstream &f) записи информации в текстовый файл для класса CWorker

CWorker (); конструктор по умолчанию для рабочих

CWorker (CWorker & As); конструктор копирования для рабочих

CWorker (int APersonID, char *AFamily, char *ABirth); инициализация полей в конструкторе для рабочих

~CWorker (); деструктор для рабочих

У класса CDocent имеется родительский класс CWorker Таким образом нам нужно описать класс CDocent. Это позволит добавлять данные о скидке на билеты.

Разработанный класс CDocent:

Имя: CDocent.

Ответственность: хранение и выдача информации о получении научной степени.

Свойства:

int GodZ; хранит информацию о годе приобретения

char UchSpec [15]; хранит информацию об ученой степени

Операции:

int getGodZ (void); возвращает значение года приобретения

void setGodZ (int AGodZ); изменяет значение года приобретения

char *getUchSpec (void); возвращает значение ученой степени

void setUchSpec (char *AUchSpec); изменяет значение ученой степени

void Read () считывания информации c консоли для класса CDocentWrite () вывод информации об объекте на экран для класса CDocentReadF (std:: ifstream &f) считывание информации из файлового потока для класса CDocentWriteF (std:: ofstream &f) записи информации в текстовый файл для класса CDocent

CDocent (); конструктор по умолчанию для ученой степени

CDocent (CDocent & As); конструктор копирования для ученой степени

CDocent (int APersonID, char *AFamily, char *ABirth, int AGodZ, char *AUchSpec); инициализация полей для CDocent


На рис.2 представлена диаграмма классов.

программное обеспечение отдел кадров

(Рис.2. Диаграммы классов)


1.4.2 Алгоритмы программы

При разработке данной программы использовались следующие конструкции программирования: операторы ветвления - условный оператор if и switch; операторы цикла - цикл с параметром for; операторы передачи управления-break, return. В программе используются алгоритмы стандартной библиотеки шаблонов - метод добавления элемента в конец списка (push_back), метод, удаление всех элементов списка.

Полный листинг программы приведён в ПРИЛОЖЕНИИ 1.


1.5 Используемые технические и программные средства


Данная программа написана на языке высокого уровня C++. Программное обеспечение разрабатывается для персонального компьютера IBM PC с процессором не ниже Pentium-120 со следующими характеристиками:

объем ОЗУ не менее 16 Mb;

графический адаптер SVGA;

манипулятор типа "мышь".


1.6. Вызов и загрузка


Данная программа занимает 898 Кбайт в оперативной памяти компьютера.

Общий объем дискового пространства, занимаемого программой - 675 Кбайт.

Общий объем дискового пространства, занимаемого исходным кодом программы - 661 Кбайт.

Для запуска программы необходимо открыт "Мой компьютер" и нажать на ярлык программы.


1.7 Входные данные


Входные данные вводятся с клавиатуры или добавляются из файла.

Чтобы добавить данные с файла необходимо в меню нажать пункт и открыть файл.

Из файла с именем Worker. txt вводится информация о рабочем. Файл имеет следующую структуру:

.Сохранено число, обозначающее, количество рабочих находящихся в этом файле.

2.Сохранен персональный ИД.

.Сохранена фамилия.

.Сохранена дата рождения.

Из файла с именем Work. txt вводится информация о рейсах

.Сохранено число, обозначающее, количество мест работ на данный момент.

2.Сохранена дата начала работы.

.Сохранена дата окончания работы.

.Сохранена должность.

.Сохранено место работы.

.Сохранена причина увольнения.

Если есть ученая степень, то добавляется тип ученой степени.

Из файла с именем Docent. txt вводится информация о ученой степени

.Сохранено число, обозначающее, количество ученых степеней в этом файле.

2.Сохранен год получения уч. Степени.

.Сохранен тип ученой степени.


1.8 Выходные данные


Выходные данные выводятся на экран и сохраняются в файлы. Выходной и входной файл имеют одинаковый формат.

Данные о работе в файл Work. txt

Данные о работнике в файл Worker. txt

Данные о ученой степени в файл Docent. txt

2. Программа и методика испытаний


2.1 Цель испытаний


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


2.2 Требования к программе


К данной программе предъявляются следующие требования:

·система должна работать в консольном режиме и поддерживать работу с клавиатурой;

·добавление новых данных к имеющимся - добавление новой группы (с созданием нового файла); добавление информации о работе; добавление информации о работниках; добавление информации о ученой степени.

·сохранение данных, полученных при работе программы в текстовый файл;

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


2.3 Средства и порядок испытаний


Перечень используемых при испытаниях технических средств:

·персональный компьютер IBM PC с процессором не ниже Pentium;

·объем ОЗУ не менее 16 Mb;

·графический адаптер SVGA;

·манипулятор типа "мышь";

Перечень используемых при испытаниях программных средств:

·Microsoft Windows 98,Microsoft Visual C++ 6.0.

Испытания проходили в следующей последовательности:

  1. проверка корректного написания и последующее исправление ошибок, если таковые имеются, о наличии которых можно судить по сообщениям, выдаваемым редактором или отсутствии ожидаемого результата;
  2. проверка правильности работы для каждого отдельного пункта меню:

загрузка из файла работ/работников/ученой степени

сохранение в файл работ/работников/ученой степени

вывод на экран работ/работников/ученой степени

добавление работ/работников/ученой степени

Было выполнено несколько раз испытание на правильное функционирование.

В ходе испытаний ошибок или сбоев найдено не было. Все работает верно.

3. Руководство системного программиста


3.1 Назначение и условия применения программы


Программа предназначена для удобства работы отдела кадров. Она обеспечивает хранение данных о местах работы, работниках, ученых степенях.

Перечислим основные функции, выполняемые программой:

§Запуск исполняемого файла

§Загрузка начальных данных из файла или ввод данных вручную.

§Сохранение данных, полученных в результате работы программы, в текстовые файлы.

Условия, необходимые для выполнения программы:

Перечень требуемых технических средств:

·персональный компьютер IBM PC с процессором не ниже Pentium;

·объем ОЗУ не менее 16 Mb;

·графический адаптер SVGA;

·манипулятор типа "мышь";

·Keyboard.

Перечень требуемых программных средств:

§Microsoft Windows;

§DOS.


3.2 Характеристика программы


Данный программный проект эффективен даже при работе с маломощными системами с малым объемом ОЗУ и ПЗУ, кроме этого программа рационально использует вычислительные ресурсы процессора. Разработанное ПО работает быстро и надежно с любыми аппаратными и программными платформами, отвечающими требованиям, представленным в п.3.1.


3.3 Структура программы


Данная программа состоит их файлов с расширениями *. dsw, *. dsp, *. h,*. cpp, *. txt

Файлы расширения *. dsw и *. dsp являются файлами проекта. Это Work. dsw и Work. dsp

Программа состоит из следующих частей:

Header files:. h, Worker. h, Docent. hfiles:. cpp, Worker. cpp, Docent. cpp, main. cppfiles:. txt, Worker. txt, Docent. txt


3.4 Настройка программы


Проверкой работоспособности программы является соответствие работы программы с предъявляемыми к ней требованиям:

система должна работать в консольном режиме и поддерживать работу с клавиатурой;

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

выходной файл должен быть представлен в текстовом формате;


3.5 Дополнительные возможности


Не имеется

4. Руководство оператора


Для установки требуется скопировать папку на компьютер в директорию.

Для запуска программы необходимо запустить файл.


Рис.3. Меню программы


В программе расположено меню:

1.Worker File - > vector

2.Worker vector - > File

3.Worker vector - > Display

4.Add Worker to vector

5.Work File - > vector

6.Work vector - > File

7.Work vector - > Display

.Add Work to vector

9.BiletSkidka File - > vector

10.Docent vector - > File

11.Docent vector - > Display

12.Add Docent to vector"

0.Exit

Выбрав пункт 1 или 2, считывается информация о работнике из файла в вектор, при этом указать имя файла.

Выбрав пункт 3 на экран монитора выводится количество работников, данные о которых занесли в программу.

Выбрав пункт 4 вводится информация о работниках (персональный ИД, фамилия, дата рождения).

Выбрав пункт 5 и 6, считывается информация о месте прошлой работы из файла в вектор, при этом указать имя файла.

Выбрав пункт 7 на экран монитора выводится количество мест работы, которые были записаны в программе.

Выбрав пункт 8 вводится информация о местах работы (дата начала работы, дата окончания работы, должность, место работы и причина увольнения)

Выбрав пункт 9 и 10, считывается информация о ученой степени из файла в вектор, при этом указать имя файла.

Выбрав пункт 11 выводит на экран количество ученых степеней для различных работников.

Выбрав пункт 12 вводится информация ученых степенях (год получения, тип ученой степени).

Выбрав пункт 0 завершает программу.

Заключение


Решение какой-либо задачи с помощью ЭВМ распадается на три основных этапа: постановка задачи, составление алгоритма решения, программная реализация алгоритма на ЭВМ. В данной курсовой работе реализованы все указанные выше этапы в среде программирования Visual C++.

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

Таким образом, основная цель курсовой работы по овладению основами программирования в среде Visual C++ выполнена.


Список литературы


1. Единая система программной документации. - М.: Изд-во стандартов, 1985.

. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях. - К.: Диалектика, 1993.

. Боэм Б.У. Инженерное проектирование программного обеспечения. - М.: Радио и связь, 1985.

. Буч Г. Объектно-ориентированное проектирование, 2-е изд. - М.: Бином, 1999.

Приложения


Приложение 1. Техническое задание


1.ВВЕДЕНИЕ

Наименование - прикладное программное обеспечение деятельности отдела кадров.

Краткая характеристика - обеспечение накопления и хранения информации кадров.

2.ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ

Учебный план специальности 230201 и задание преподавателя для выполнения курсовой работы.

. НАЗНАЧЕНИЕ РАЗРАБОТКИ

Прикладное программное обеспечение деятельности отдела кадров позволяет пройти все этапы: ввод данных о предыдущем месте работы, добавление сотрудников в реестр (персональный ИД, фамилия, дата рождения).

4. ТРЕБОВАНИЯ К ПРОГРАММЕ

.1 Требования к функциональным характеристикам

.1.1 Программное обеспечение должно хранить информацию о:

местах предыдущих работ:

дата начала и окончания работы;

должность;

место работы;

причина увольнения;

работниках:

персональный ИД;

фамилия;

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

.1.2 Программное обеспечение должно обеспечивать вычисление параметров:

количество работников с ученой степенью;

количество прошлых мест работ для работников;

количество работников на данный момент;

.1.3 По требованию пользователя система должна обеспечить выдачу:

БД мест работ;

БД работников;

БД ученых степеней;

.1.4 Программное обеспечение должно работать в консольном режиме и поддерживать работу с клавиатуры.

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

.1.6. Структура выходного файла должна быть разработана с учетом сохранения всех первичных параметров и моментов их измерений.

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

.1.8 Системное время и дата поддерживаются встроенными часами.

.2 Требования к надежности

.2.1 Программа должна обрабатывать ошибочные действия пользователя и сообщать ему об этом.

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

.3 Условия эксплуатации

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

.4 Требования к составу и параметрам технических средств

.4.1 Программное обеспечение разрабатывается для персонального компьютера IBM PC с процессором не ниже Pentium-120 со следующими характеристиками:

объем ОЗУ не менее 16 Mb;

манипулятор типа "мышь".

.4.2 ЭВМ должна работать под управлением операционной системы не ниже MS-DOS 6.2.

.5 Требования к информационной и программной совместимости

.5.1 Требование информационной совместимости должно быть обеспечено работой с файлами сбора информации о мониторинге определенной структуры в качестве входной и выходной информации.

. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ

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

. ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ

В результате внедрения разработанного ПО, предполагается улучшить работу отдела кадров.

. СТАДИИ И ЭТАПЫ РАЗРАБОТКИ

.1 Стадия аналитической разработки:

  • ознакомление с теоретическим материалом;
  • аналитическая обработка теоретической информации.
  • объектно-ориентированный анализ;
  • разработка диаграммы объектов;
  • разработка диаграммы последовательности;
  • объектно-ориентированное проектирование;
  • разработка диаграммы классов.
  • 7.2 Стадия программной разработки:
  • разработка классов и отдельных модулей программы;
  • отладка полученных классов и модулей;
  • объединение структур и формирование единой программы;
  • тестирование и получение результатов работы программы.
  • 7.3 Стадия аналитического анализа:
  • анализ данных, полученных в результате работы программы;
  • выработка рекомендаций по увеличению эффективности использования объекта моделирования.
  • 8. ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ
  • 8.1 При сдаче работы производится демонстрация разработанной программы на контрольном примере.
  • 8.2 Копии всех документов включают:
  • исходный текст программы;
  • загрузочные модули (скомпилированная программа и файлы с входными данными);
  • текстовую и графическую документацию.

Приложение 2. Листинг программы

класс Cwork

#include <fstream>

#include <vector>

#include "Worker. h"CWork

{::: vector <CWorker *> pr;WorkBegin;WorkEnd;Work [20];WorkPlace [25];Reason [40];:getWorkBegin (void);setWorkBegin (int AWorkBegin);getWorkEnd (void);setWorkEnd (int AWorkEnd);*getWork (void);setWork (char *AWork);*getWorkPlace (void);setWorkPlace (char *APlace);*getReason (void);setReason (char *AReason);AddWorkerIntoWork (CWorker * g);RemoveWorker (CWorker * g);CountWorkerInWork ();WriteV ();WriteFV (std:: ofstream &t);ReadFV (std:: ifstream &t);Read ();Write ();ReadF (std:: ifstream &t);WriteF (std:: ofstream &t);();(CWork & As);(int AWorkBegin, int AWorkEnd, char *AWork, char *AWorkPlace, char *AReason);

};

класс Cworker

#ifndef _PEO__

#define _PEO__

#include <fstream>

#include <vector>CWorker

{:PersonID;*Family;Birth [12];:getPersonID (void);setPersonID (int APersonID);*getFamily (void);setFamily (char *AFamily);*getBirth (void);setBirth (char *ABirth);Read ();Write ();ReadF (std:: ifstream &f);WriteF (std:: ofstream &f);();(CWorker & As);(int APersonID, char *AFamily, char *ABirth);

~CWorker ();

};

#endif

класс CDocent

#include <fstream>

#include "Worker. h"CDocent: public CWorker

{:GodZ;UchSpec [15];:getGodZ (void);setGodZ (int AGodZ);*getUchSpec (void);setUchSpec (char *AUchSpec);Write ();Read ();WriteF (std:: ofstream & t);ReadF (std:: ifstream & t);();(CDocent & As);(int APersonID, char *AFamily, char *ABirth, int AGodZ, char *AUchSpec);

};

Файл Work. cpp

#include "stdafx. h"

#include <vector>

#include "Work. h"

#include "Worker. h"

#include "Docent. h"

#include <string. h>

#include <iostream. h>std:: vector <CWorker *> v;std:: vector <CWork *> w;std:: vector <CDocent *> v2;CWork:: AddWorkerIntoWork (CWorker * g)

{. push_back (g);

}CWork:: WriteV ()

{<< "Kollichestvo rabotnikov: " << CountWorkerInWork () << endl;(int i=0; i< CountWorkerInWork (); i++)

{[i] - >Write ();

}

}CWork:: WriteFV (std:: ofstream &t)

{<< CountWorkerInWork () << std:: endl;(int i =0; i< CountWorkerInWork (); i++)

{(int n=0; n<v. size (); n++)

{(v [n] == pr [i]) break;

}<< n << std:: endl;

}

}CWork:: ReadFV (std:: ifstream & t)

{N2, n2;>> N2;(int i = 0; i < N2; i++)

{>> n2;. push_back (v [n2]);

}

}CWork:: CountWorkerInWork ()

{pr. size ();

}CWork:: getWorkBegin (void) {WorkBegin;

}CWork:: setWorkBegin (int AWorkBegin) {=AWorkBegin;

}CWork:: getWorkEnd (void) {WorkEnd;

}CWork:: setWorkEnd (int AWorkEnd) {=AWorkEnd;

}*CWork:: getWork (void) {Work;

}CWork:: setWork (char *AWork) {(Work, AWork);

}*CWork:: getWorkPlace (void) {WorkPlace;

}CWork:: setWorkPlace (char *AWorkPlace) {(WorkPlace, AWorkPlace);

}*CWork:: getReason (void) {Reason;

}CWork:: setReason (char *AReason) {(Reason, AReason);

}CWork:: Read ()

{<< "Vvedite WorkBegin" << endl;>> WorkBegin;<< "Vvedite WorkEnd" << endl;>> WorkEnd;<< "Vvedite Work" << endl;>> Work;<< "Vvedite WorkPlace" << endl;>> WorkPlace;<< "Vvedite Reason" << endl;>> Reason;i;command = 1;* Temp100;(command! = 0)

{<< "Please enter operation." << endl;<< "1. Add new Worker into Work" << endl;<< "2. Add Worker into Work" << endl;<< "0. Exit from this menu" << endl;>> command;(command==1)

{=new CWorker ();->Read ();. push_back (Temp100);(Temp100);

}if (command==2)

{<< "Vvedite nomer Workera iz globalnogo spiska";>> i;(v [i]);

}

{<< "Invalid command" << endl;

}

}

}CWork:: Write ()

{<< "WorkBegin - " << getWorkBegin () << endl;<< "WorkEnd - " << getWorkEnd () << endl;<< "Work - " << getWork () << endl;<< "WorkPlace - " << getWorkPlace () << endl;<< "Reason - " << getReason () << endl;

}CWork:: ReadF (std:: ifstream &t)

{>> WorkBegin >> WorkEnd >> Work >> WorkPlace >> Reason;(t);

}CWork:: WriteF (std:: ofstream &t)

{<< WorkBegin << std:: endl << WorkEnd << std:: endl << Work << std:: endl << WorkPlace << std:: endl << Reason << std:: endl;(t);

}:: CWork ()

{= 1990;= 2000;(Work, "Director");(WorkPlace, "Lotus");

strcpy (Reason, "Po sobstvennomu jelaniyu");

}:: CWork (CWork & As)

{= As. WorkBegin;= As. WorkEnd;(Work, As. Work);(WorkPlace, As. WorkPlace);(Reason, As. Reason);

}:: CWork (int AWorkBegin, int AWorkEnd, char *AWork, char *AWorkPlace, char *AReason)

{= AWorkBegin;= AWorkEnd;(Work, AWork);(WorkPlace, AWorkPlace);(Reason, AReason);

}

Файл Worker. cpp

#include "StdAfx. h"

#include <string. h>

#include "Worker. h"

#include <iostream. h>CWorker:: getPersonID (void) {PersonID;

}CWorker:: setPersonID (int APersonID) {=APersonID;

}*CWorker:: getFamily (void) {Family;

}*CWorker:: getBirth (void) {Birth;

}CWorker:: setBirth (char *ABirth)

{(Birth, ABirth);

}CWorker:: Read ()

{<< "Vvedite PersonID" << endl;>> PersonID;<< "Vvedite Family" << endl;>> Family;<< "Vvedite Birth" << endl;>> Birth;

}CWorker:: Write ()

{<< "PersonID - " << getPersonID () << endl;<< "Family - " << getFamily () << endl;<< "Birth - " << getBirth () << endl;

}CWorker:: ReadF (std:: ifstream &f)

{>> PersonID >> Family >> Birth;

}CWorker:: WriteF (std:: ofstream &f)

{<< PersonID << std:: endl << Family << std:: endl << Birth << std:: endl;

}:: CWorker ()

{= 10;= new char [14];(Family, "Ivanov");(Birth, "01.01.10");

}:: CWorker (CWorker & As)

{= As. PersonID;= new char [strlen (As. Family) +1];(Birth, As. Birth);

}:: CWorker (int APersonID, char *AFamily, char *ABirth)

{= APersonID;= new char [strlen (AFamily) +1];(Family, AFamily);(Birth, ABirth);

}:: ~CWorker ()

{[] Family;

}CWorker:: setFamily (char *AFamily)

{(Family! =0)[] Family;= new char [strlen (AFamily) +1];(Family, AFamily);

}

Файл Docent. cpp

#include "stdafx. h"

#include <string. h>

#include "Docent. h"

#include "Worker. h"

#include <iostream. h>CDocent:: getGodZ (void)

{GodZ;

}CDocent:: setGodZ (int AGodZ)

{= AGodZ;

}*CDocent:: getUchSpec (void) {UchSpec;

}CDocent:: setUchSpec (char *AUchSpec) {(UchSpec, AUchSpec);

}:: CDocent (): CWorker ()

{= 1997;(UchSpec, "Docent");

}:: CDocent (int APersonID, char *AFamily, char *ABirth, int AGodZ, char *AUchSpec): CWorker (APersonID, AFamily, ABirth)

{= AGodZ;(UchSpec, AUchSpec);

}:: CDocent (CDocent & As)

{= As. GodZ;(UchSpec, As. UchSpec);

}CDocent:: Read (void)

{<< "vvedite informazhiy o GodZ and UchSpec " << endl;<< "vvedite GodZ"<< endl;>> GodZ;<< "vvedite UchSpec"<< endl;>> UchSpec;

}CDocent:: ReadF (std:: ifstream & t)

{:: ReadF (t);>> GodZ >> UchSpec;

}CDocent:: Write (void)

{<< endl;<< "informazhiya o GodZ and UchSpec " << endl;<< "GodZ: " << GodZ <<endl;<< "UchSpec: " << UchSpec <<endl;

}CDocent:: WriteF (std:: ofstream & t)

{:: WriteF (t);<< GodZ << std:: endl << UchSpec << std:: endl;

}

Файл main. cpp

#include "stdafx. h"

#include <string. h>

#include <iostream. h>

#include <fstream>

#include "Work. h"

#include "Worker. h"

#include "Docent. h"

#include <vector>ReadFAllCWorker (char * tn, std:: vector < CWorker *> & v)

{:: ifstream t (tn);N;>>N;*m;(int i=0; i<N; i++)

{= new CWorker ();>ReadF (t);. push_back (m);

}. close ();

}WriteFAllCWorker (char * tn, std:: vector < CWorker *> v)

{:: ofstream t (tn);<<v. size () << std:: endl;(int i=0; i<v. size (); i++)

{[i] - >WriteF (t);

}. close ();

}WriteAllCWorker (std:: vector <CWorker *> v)

{<<"kolich Worker =" <<v. size () << endl;(int i=0; i<v. size (); i++)

{[i] - >Write ();

}

}ReadFAllCWork (char * tn, std:: vector < CWork *> & w)

{:: ifstream t (tn);N;>>N;*m;(int i=0; i<N; i++)

{= new CWork ();>ReadF (t);. push_back (m);

}. close ();

}WriteFAllCWork (char * tn, std:: vector < CWork *> w)

{:: ofstream t (tn);<<w. size () << std:: endl;(int i=0; i<w. size (); i++)

{[i] - >WriteF (t);

}. close ();

}WriteAllCWork (std:: vector <CWork *> w)

{<<"kolich Workov =" <<w. size () << endl;(int i=0; i<w. size (); i++)

{[i] - >Write ();

}

}ReadFAllCDocent (char * tn, std:: vector < CDocent *> & v2)

{:: ifstream t (tn);N;>>N;*m;(int i=0; i<N; i++)

{= new CDocent ();>ReadF (t);. push_back (m);

}. close ();

}WriteFAllCDocent (char * tn, std:: vector < CDocent *> v2)

{:: ofstream t (tn);<<v2. size () << std:: endl;(int i=0; i<v2. size (); i++)

{[i] - >WriteF (t);

}. close ();

}WriteAllCDocent (std:: vector < CDocent *> v2)

{<<"kolich specialnostei =" <<v2. size () << endl;(int i=0; i<v2. size (); i++)

{[i] - >Write ();

}

}:: vector <CWorker *> v;:: vector <CWork *> w;:: vector <CDocent *> v2;main (void)

{("Worker. txt", v);("Work. txt", w);("Docent. txt", v2);tn [600];kod;{<< endl;<< "1. Worker File - > vector" << endl;<< "2. Worker vector - > File" << endl;<< "3. Worker vector - > Display" << endl;<< "4. Add Worker to vector" << endl;<< "5. Work File - > vector" << endl;<< "6. Work vector - > File" << endl;<< "7. Work vector - > Display" << endl;<< "8. Add Work to vector" << endl;<< "9. Docent File - > vector" << endl;<< "10. Docent vector - > File" << endl;<< "11. Docent vector - > Display" << endl;<< "12. Add Docent to vector" << endl;<< "0. Exit" << endl;<< "Select: 1-12 or 0." << endl;>> kod;(kod)

{1:<< endl;<< "Input File name: " << endl;>> tn;(tn, v);;2:<< endl;<< "Input File name: " << endl;>> tn;(tn, v);;3:(v);;4:*m;=new CWorker;>Read ();. push_back (m);;5:<< endl;<< "Input File name: " << endl;>> tn;(tn, w);;6:<< endl;<< "Input File name: " << endl;>> tn;(tn, w);;7:(w);;8:*a;=new CWork;>Read ();. push_back (a);;9:<< endl;<< "Input File name: " << endl;>> tn;(tn, v2);;10:<< endl;<< "Input File name: " << endl;>> tn;(tn, v2);;11:(v2);;12:*o;=new CDocent;>Read ();. push_back (o);;

}

} while (kod > 0);<< "GOOD BYE";

}


Содержание Введение 1. Описание программы 1.1 Общие сведения 1.2 Функциональное назначение 1.3 Описание алгоритма функционирования программы

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ