Сведения о расходе горючего на автобазах города
Рефераты >> Программирование и компьютеры >> Сведения о расходе горючего на автобазах города

Функция pech() – вывод на экран содержимое файла.

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

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

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

Таблица 2.3.6

Принятое имя

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

kol

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

svalprod

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

skolrab

Переменная типа int, для накопительной суммы по количеству автомашин

sproizv

Переменная типа float, для накопительной суммы по производительности труда.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В данной функции в цикле вызывается функция vstavka (), пока запрашиваемый ответ не будет 'N', и заполняется список.

Функция vstavka () – добавление записей в односвязный список.

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

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

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

Таблица 2.3.7

Принятое имя

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

nov

Указатель на переменную типа predpry (структура определен­ная пользователем), используется для хранения информации по новой автобазе.

tek1

Указатель на переменную типа predpry (структура определен­ная пользователем), используется для хранения информации по текущей автобазе.

b

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

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

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

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

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

Таблица 2.3.8

Принятое имя

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

k

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

b

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

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

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

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

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

Таблица 2.3.9

Принятое имя

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

nov

Указатель на переменную типа predpry (структура определен­ная пользователем), используется для хранения информации по новой автобазе.

tek1

Указатель на переменную типа predpry (структура определен­ная пользователем), используется для хранения информации по текущей автобазе.

b

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

Функция prints () – вывод на экран односвязного списка

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

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

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

Таблица 2.3.10

Принятое имя

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

svalprod

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

skolrab

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

sproizv

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

i

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


Страница: