Сведения о расходе горючего на автобазах городаРефераты >> Программирование и компьютеры >> Сведения о расходе горючего на автобазах города
Функция 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, счетчик. Используется для подсчета количества автобаз. |