- •Введение
- •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 Результаты работы программы
- •Заключение
- •Список литературы
- •Приложение а
4.5 Функция searchNum(char* file)
Назначение: нахождение рейса по номеру и вывод информации о нем.
Входные данные: file – указатель на файл.
Выходные данные: отсутствуют.
Вспомогательные переменные:
– int num – номер искомого рейса.
– int tmp – индикатор наличия подходящего рейса, изначально равно 1.
Описание работы функции: открытие в режиме чтения и проверка на правильность открытия файла. Ввод искомого номера рейса num. В цикле с условием, чтение до конца файла, номер каждой структуры сравнивается с искомым номером. Если номера равны выводится таблица с информацией о рейсе, с помощью функции ticketOut(struct train name), и индикатор tmp принимает значение 0. Если таких рейсов не было найдено и индикатор tmp = 0, то выводится уведомление «Рейс с данным номером не был найден.». Закрытие файла.
4.6 Функция searchTravel(char* file)
Назначение: поиск самого быстрого поезда определенного типа.
Входные данные: file – указатель на файл.
Выходные данные: отсутствуют.
Вспомогательные переменные:
– char station[15] – искомый пункт назначения.
– char type_info[12] – искомый тип поезда.
– int time_min – минимальное время в минутах, изначально равно 100000000.
– int n – номер структуры, изначально равно 0.
– int pos – номер позиции рейса с минимальным временем, изначально равен –1.
Описание работы функции: открытие в режиме чтения и проверка на правильность открытия файла. Ввод искомого пункта назначения и искомого типа поезда соответственно station и type_info. В цикле с условием, чтение до конца файла, проверка пункта назначения и типа поезда каждой структуры. Подходящие по условию рейсы проверяются на время в пути путем подсчета общего времени в минутах, если время проверяющегося рейса меньше time_min, то запоминается позиция и минимальное время обновляется. После цикла при p = –1, выводится «Подходящих рейсов нет.», иначе если p не равен –1, то выводится рейс с минимальным временем, с помощью функции ticketOut(struct train name). Закрытие файла.
4.7 Функция del(char* file1)
Назначение: удаление записи.
Входные данные: file – указатель на файл.
Выходные данные: отсутствуют.
Вспомогательные переменные:
– f1 – переменная типа FILE.
– f2 – переменная типа FILE.
– char file2 – название файла.
– int num – номер удаляемого рейса.
Описание работы функции: для удаления записи о файле производится запись информации из исходного файла во вспомогательный, исключая информацию о рейсе, которую нужно удалить. Исходный файл необходимо удалить, а вспомогательному присвоить имя файла исходного. Пользователь вводит номер рейса в переменную num, запись о котором необходимо удалить. Производится сравнение в цикле, если значения совпали, то информация не записывается во вспомогательный файл. Закрытие потоков на файлы. Удаление исходного файла с помощью функции remove(). Переименование с помощью функции rename().
4.8 Функция printFile()
Назначение: вывод задания на экран.
Входные данные: отсутствуют.
Выходные данные: отсутствуют.
Вспомогательные переменные:
– file – типа FILE указатель на файл для чтения задания из файла.
– char ch – для считывания текста.
Описание работы функции: открытие текстового файла и посимвольное чтение из него с помощью цикла. Закрытие файла