Платежная ведомость предприятия
Рефераты >> Программирование и компьютеры >> Платежная ведомость предприятия

Функция fail() – выводится меню работы с файлами, реализована также в конструкции switch()case:

-выбор 1 – функция sozd();

-выбор 2 – функция dopolnen();

-выбор 3 – функция korr();

-выбор 4 – функция iskl();

-выбор 5 – функция pech();

При выборе пункта 6 происходит выход из конструкции do{}while(), и выход в головную функцию.

Локальных переменных не объявляется, используются глобальные.

В отдельную небольшую функцию выделена функция задержки экрана – функция pause(). Она будет использоваться практически во всех ниже описанных функциях.

Функция sozd() – создание нового файла.

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

Информация по фамилиям рабочих заносится с клавиатуры в функции vvod(), и хранится во временной переменной.

Затем проверяется существует ли фамилия с именем, указанным во временной переменной. Если уже есть, то запись не сохраняется, если нет, то сохраняется.

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

Переменные, используемые в функции, опишем в таблице 2.3.2.

Таблица 2.3.2

Принятое имя

Наименование

vedread

Переменная типа predpr (структура определен­ная пользователем), используется для проме­жу­точного хранения информации по одной фамилии при работе с файлами.

fname

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

*name

Указатель на тип char, используется при проверке фамилии рабочих.

kol

Переменная типа int, в которой записывается кол-во записей в файле

k

Переменная типа int, счетчик. Используется при проверке фамилии рабочих.

Функция dopolnen() – дополнение записей в уже созданный файл. С клавиатуры вводится название файла, проверяется есть ли файл с таким названием. Если файл есть, то открывается в двоичном режиме на дополнение.

Информация по фамилиям рабочих заносится с клавиатуры в функции vvod(), и хранится во временной переменной.

Затем проверяется существует ли предприятие с именем, указанным во временной переменной. Если уже есть, то запись не сохраняется, если нет, то сохраняется.

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

Переменные, используемые в функции, опишем в таблице 2.3.3.

Таблица 2.3.3

Принятое имя

Наименование

vedread

Переменная типа predpr (структура определен­ная пользователем), используется для проме­жуточного хранения информации по одной фамилии при работе с файлами.

fname

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

*name

Указатель на тип char, используется при проверке фамилии.

kol

Переменная типа int, в которой записывается кол-во записей в файле

k

Переменная типа int, счетчик. Используется при проверке фамилии рабочих .

Функция korr () – корректировка записей в уже созданном файле.

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

Затем вводится название корректируемой фамилии.

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

Новая информация по корректируемой фамилии рабочего заносится с клавиатуры в функции vvod(), записывается во временной переменной, и записывается на место корректируемой записи с

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

Переменные, используемые в функции, опишем в таблице 2.3.4.

Таблица 2.3.4

Принятое имя

Наименование

n

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

fname

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

Функция iskl () – удаление записей из уже созданного файла.

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

Также организовывается вспомогательный поток данных на запись.

Затем вводится название корректируемой фамилии рабочего.

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

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

Если записи с исходным наименованием не существовало, тогда удаляется вспомогательный файл.

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

Переменные, используемые в функции, опишем в таблице 2.3.5.

Таблица 2.3.5

Принятое имя

Наименование

vspom

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

isk

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

fname

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

col

Переменная типа int, флажок. Используется при проверке фамилии рабочих .


Страница: