ВВЕДЕНИЕ.
ГЛАВА 1.
РУКОВОДСТВА ПО СОЗДАНИЮ И ИСПОЛЬЗОВАНИЮ ПРОГРАММЫ.
1.1 Условие задачи.
1.2 Описание программного продукта.
1.3 Результаты работы программы.
ЗАКЛЮЧЕНИЕ.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.
ПРИЛОЖЕНИЕ А.
ПРИЛОЖЕНИЕ Б.
Целью курсовой работы является разработка программы, с помощью которой будет осуществляться продажа билетов на железнодорожном вокзале.
Для достижения поставленной цели были определены следующие задачи:
создание программы, дающей информацию о расписании поездов; реализовать возможность добавления нового маршрута; реализовать возможность удаления маршрута; реализовать возможность поиска по заданному маршруту; реализовать возможность покупки билетов на выбранный маршрут.
1.2 Код программы и его описание
При написании программы были подключены такие библиотеки как: #include <tchar.h>, #include <iomanip>, #include <iostream>, #include <conio.h>, #include <string>, #include <fstream>, #include <vector>, #include <windows.h>, using namespace std.
Для очистки экрана была использована функция system(“cls”). Для подключения русского языка была использована функция setlocale(LC_ALL,”rus”). Для корректного ввода и вывода кириллицы на консоль, использовались функции: SetConsoleOutputCP() и SetConsoleCP().
Самым оптимальным решением поставленной задачи, было создание двух файлов:
содержащий информацию о расписании поездов (rasp.txt); содержащий информацию о пассажирах, которые приобрели билет (users.txt).
Программа включает в себя класс и структуру:
класс, позволяет работать с данными о поездах и имеющий вид:
Таблица 1.1 – Класс
|
Класс |
|
||
|
Название |
Назначение |
|
|
|
class BD |
|
|
|
|
public: |
|
||
|
string mar |
Номер маршрута |
||
Продолжение таблицы 1.1
|
string st1 |
Пункт отправления |
|
string st2 |
Пункт прибытия |
|
string time1 |
Время отправления |
|
string time2 |
Время прибытия |
|
string Type |
Тип мест |
|
string price |
Цена билета |
|
string data |
Дата отправления |
|
string col |
Количество доступных билетов |
|
private: |
Сохранение покупателей билета |
|
void read_rasp_from_file() |
Чтение расписания из файла |
структура, позволяет работать с данными о пассажирах и имеющая вид:
Таблица 1.2 – Структура
|
Структура |
|
||
|
Название |
Назначение |
|
|
|
struct UserBD |
|
|
|
|
string firstName |
Имя пассажира |
||
|
string lastName |
Фамилия пассажира |
||
|
string mar |
Номер маршрута |
||
|
string data |
Дата отправления |
||
|
string Type |
Тип мест |
||
|
private: |
Время прибытия |
||
|
void read_usersBD() |
Чтение архива билетов |
||
Для определения переменных в программе был использован строковый тип (string) — тип данных, элементами которого является произвольная последовательность символов алфавита. Каждая переменная такого типа может иметь либо фиксированный размер, либо произвольный. Но в данной задаче я использовал произвольный размер из-за незнания точного количества символов, вводимых с клавиатуры. Для изменения количества билетов переменная типа string была преобразована в переменную типа int(intcol= stoi(bd[i].col).
Главное меню программы было реализовано при помощи оператора switch. Инструкция switch—инструкция многонаправленного ветвления, которая позволяет выбрать одну из множества альтернатив. Тело оператора состоит из последовательности меток case и необязательной метки default (выполняется, если ни одна из заданных case-констант не выполняется). Метки case и default могут размещаться только внутри тела. Константное выражение для каждой метки приводится к типу выражения, указанного в начале оператора switch, и сравнивается с этим выражением. Управление передаётся тому набору операторов, чьё константное выражение метки case совпадает со значением выражения, указанного в объявлении самого оператора.
Для удобства чтение кода были разработаны следующие функции, которые отражены в таблице 1.3.
Таблица 1.3 – Разработанные функции
|
Функции |
|
||
|
Название |
Назначение |
|
|
|
read_rasp_from_file() |
Чтение расписания из файла |
|
|
|
read_usersBD() |
Чтение информации о пассажирах из файла |
||
|
read_rasp() |
Вывод расписания на экран |
||
|
read_users() |
Вывод информации о пассажирах на экран |
||
|
poisk() |
Поиск необходимого маршрута по заданным значениям |
||
|
poisk_new() |
Поиск маршрута (только по пункту прибытия) |
||
|
delete_user() |
Отмена заказанного билета |
||
|
buy_user() |
Покупка билета |
||
|
add_new_train() |
Добавление n-го количества новых маршрутов |
||
Продолжение таблицы 1.3
|
delete_rasp() |
Удаление маршрута |
|
save_rasp_to_file() |
Сохранение новых маршрутов в файл |
|
save_users_to_file() |
Сохранение покупателей билета |
|
main() |
Меню |
Список использованной литературы:
MSDN – сеть разработчиков Microsoft [Электронный ресурс]/Директива #include. – Microsoft, 2015. – Режим доступа: https://msdn.microsoft.com/ru-ru/library/36k2cdd4.aspx . – Дата доступа: 20.05.2015. Гладков, В.П. Конспект лекций по программированию для начинающих: Учебн. пособие/ В.П.- Пермь: Пермский Государственный Технический Университет, 1998. — 217 с. Гладков – Дата доступа: 18.05.2015. Шилдт Герберт С++: базовый курс/Г. Шилдт. – 3-е изд. – Москва: Пер. с англ. – М. : Издательский дом «Вильямс», 2010. 624 с. Белодед, Н. И. Алгоритмизация и программирование: Пособие по курсовому проектированию / Н.И. Белодед - Мн.: Академия управления при Президенте Республики Беларусь, 2005. – 199 с.

