- •Введение
- •1 Постановка задачи
- •2 Описание структуры данных
- •3 Общая структура программы
- •3.1 Состав программы
- •3.2 Описание пользовательского интерфейса
- •4 Описание функций
- •4.1 Функция addInf(char* file)
- •4.2 Функция ticketOut(struct train name)
- •4.3 Функция show(char* file)
- •4.4 Функция searchDeparture(char* file)
- •4.5 Функция searchNum(char* file)
- •4.6 Функция searchTravel(char* file)
- •4.7 Функция del(char* file1)
- •4.8 Функция printFile()
- •4.9 Функция edit(char* file)
- •4.10 Функция menu(char* file_name)
- •5 Результаты работы программы
- •Заключение
- •Список литературы
- •Приложение а
1 Постановка задачи
Разработать программу, которая реализует информационно–справочную систему на базе файла структур со следующими возможностями: создание файла, просмотр содержимого файла, добавление, корректировка и удаление данных, осуществление выполнения запросов в соответствии с индивидуальных заданием. Поиск данных в файле выполнять по ключевому полю. Для организации интерфейса взаимодействия с пользователем использовать меню.
Создать базу данных содержащую сведения расписании поездов: пункт назначения, номер поезда, тип поезда (скорый, сапсан, пассажирский), время отправления, время в пути. Вывести сведения о поездах, отправляющихся в Саратов определенный временной период. Найти поезд определенного типа, доезжающий до Саратова за наименьшее время.
2 Описание структуры данных
Выбор структуры данных очень важен, т.к. от правильности выбора зависит эффективность и универсальность программы. Существует различные способы обработки и хранения данных: массив [3], файл [4].
Обработка данных на основе массива, все данные записываются в специально созданный массив, где каждый элемент массива – одна запись. Преимущества: уменьшение запросов к файловой системе. Недостатки: увеличение используемой оперативной памяти и время обращения к каждому элементу. Также, массив имеет ограниченный возможный размер по памяти, в файле же только емкостью диска. В массиве данные нужно вводить каждый раз вначале работы, так как данные хранятся в оперативной памяти и не сохраняются после окончания работы с ним.
Обработка данных на основе файла структур и переменной структуры [5], данные считываются последовательно из бинарного файла, который содержит необходимые данные, в переменную в виде записи, обрабатывается запись и считывается следующая запись из файла, пока исходный файл не закончится. Преимущества: уменьшение используемой оперативной памяти по сравнению с массивом. Недостатки: увеличение запросов к файловой системе по сравнению с массивом из – за того, что для создания или обращения записи требуется обращаться к бинарному файлу. Данные в файле сохраняются и после окончания работы с ним, поэтому не требуется вводить каждый раз вначале работы по сравнению с массивом.
Для курсовой работы была выбрана обработка данных на основе бинарного файла структур и переменной структуры.
3 Общая структура программы
3.1 Состав программы
Программа состоит из главной программы и 10 пользовательских функций.
В языке программирования C глобальные (внешние) переменные объявляются вне какой–либо функции. С их помощью удобно организовывать обмен данными между функциями. Так как имя бинарного файла и экземпляр структуры нуждаются в объявлении в практически каждой функции программы, то их лучше объявить глобально: FILE *f – идентификация потока на файл.
Структурная организация файла программы на языке C, содержащего несколько функций, может выглядеть немного по–разному. Так как выполнение начинается с main(), то ей должны быть известны спецификации (имена, количество и тип параметров, тип возвращаемого значения) всех функций, которые из нее вызываются. Отсюда следует, что объявляться функции должны до того, как будут вызваны. Прототипы функций объявлены перед главной программой.