Железная дорога
Разработка программы, имитирующую процесс пассажирских перевозок по железной дороге. Создание базы данных поездов и вагонов. Просмотр статистики выбранного поезда и вагона. Поиск нужного рейса по станциям прихода и отправления. Продажа билетов на поезд.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 21.07.2012 |
Размер файла | 21,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Железная дорога
Введение
Целью данной работы является разработать программу, имитирующую процесс пассажирских перевозок по железной дороге.
Таким образом, в цели курсовой работы входят пункты:
· Создание базы данных поездов и вагонов
· Просмотр статистики выбранного поезда и вагона
· Поиск нужного рейса по станциям прихода и отправления
· Продажа билетов на нужный поезд, в выбранный пассажиром вагон.
программа перевозка поезд железный
1. Постановка задачи
Разработать программу, имитирующую процесс пассажирских перевозок по железной дороге.
Имеются несколько станций, соединенных железнодорожной сетью.
Между станциями курсируют поезда из нескольких вагонов.
Каждый поезд имеет номер, станцию отправления, станцию назначения, время убытия со станции отправления и время прибытия на станцию назначения.
Каждый вагон имеет номер. Все вагоны делятся на пассажирские и служебные.
Все служебные делятся почтовые, вагон-ресторан, вагон-буфет.
Все пассажирские вагоны имеют количество мест и цену места на километр расстояния.
Пассажирские вагоны подразделяются на сидячие, плацкартные и купейные.
Пассажиры, желающие уехать, покупают билеты на станциях, называя пункт отправления и пункт назначения. В зависимости от наличия таких поездов и мест кассир обеспечивает пассажира билетом.
Процесс имитации может быть остановлен пользователем программы для просмотра параметров объектов:
Состояние каждого поезда, в т.ч.: типы вагонов, их состояние, количество пассажиров по вагонам и всего.
Загруженность вагонов с разбивкой по их типам.
Выручка с разбивкой по поездам и типам вагонов.
2. Реализация задачи
2.1 Алгоритм решения
Была спроецирована иерархия классов. При проектировании классов были использованы механизмы наследования и полиморфизма. Для этого были определены базовые и наследуемые классы.
2.2 Иерархия классов
Размещено на http://www.allbest.ru/
2.3 Описание классов
1. Класс Basevag - базовый класс для Passvag и Slujvag. Хранит значение номера вагона.
2. Класс Passvag - производный от класса Basevag. Хранит методы значения и методы для пассажирских вагонов.
3. Класс Slujvag - производный от класса Basevag. Хранит методы значения и методы для служебных вагонов.
4. Классы Sitvag, Platsvag и Cupevag - производные от класса Passvag. Они разделяют пассажирские вагоны на типы, использующиеся в программе.
5. Классы Mailvag, Restvag и Bufvag - производные от класса Slujvag. Они разделяют служебные вагоны на типы, использующиеся в программе.
6. Класс Poezd - базовый класс поездов. Хранит значения и методы для каждого поезда.
3. Описание программного обеспечения
3.1 Программная реализация
Общий подход к реализации программы
Среда разработки - Microsoft Visual Studio 2008 (язык C++). Программа написана в объектно-ориентированной среде.
Программа предназначена для начинающих пользователей. Программы работают в Windows Vista и Windows 7.
Алгоритм
Цель программы - наглядно показать работу простого программного обеспечения для железнодорожной станции.
3.2 Описание устройства иерархии классов
3.2.1 Класс Basevag
Поля:
int numvag; // Номер вагона
Методы:
virtual int setinfo (const int number_vagon); // Ввести данные
virtual int get_number_vagon() const // получить номер вагона
{
return numvag;
}
3.2.2 Класс Passvag
Поля:
int places; // Кол-во мест
int cost; // Цена места на киометр расстояния
int buy; // Кол-во проданных билетов
Методы:
virtual int setinfo (const int number_vagon, const int kol_places, const int cost_place, const int bilets); // Ввести данные
virtual int setdata (const int number_vagon, const int bilets);
virtual int setbilets (const int bilets);
virtual int get_number_vagon() const
{
return basevag:get_number_vagon(); // Вывести данные
}
virtual int get_kol_places() const
{
return places;
}
virtual int get_cost_place() const
{
return cost;
}
virtual int get_bilets() const
{
return buy;
}
3.2.3 Класс Slujvag
Поля:
Методы:
virtual int setinfo (const int number_vagon); // Ввести данные
virtual int get_number_vagon() const
{
return basevag:get_number_vagon(); // Вывести данные
}
3.2.4 Класс Sitvag
Поля:
Методы:
virtual int setinfo (const int number_vagon, const int kol_places, const int cost_place, const int bilets); // Ввести данные
virtual int setdata (const int number_vagon, const int bilets);
virtual int setbilets (const int bilets);
virtual int get_number_vagon() const
{
return passvag:get_number_vagon(); // Вывести данные
}
virtual int get_kol_places() const
{
return passvag:get_kol_places();
}
virtual int get_cost_place() const
{
return passvag:get_cost_place();
}
virtual int get_bilets() const
{
return passvag:get_bilets();
}
3.2.5 Класс Platsvag
Поля:
Методы:
virtual int setinfo (const int number_vagon, const int kol_places, const int cost_place, const int bilets); // Ввести данные
virtual int setdata (const int number_vagon, const int bilets);
virtual int setbilets (const int bilets);
virtual int get_number_vagon() const
{
return passvag:get_number_vagon(); // Вывести данные
}
virtual int get_kol_places() const
{
return passvag:get_kol_places();
}
virtual int get_cost_place() const
{
return passvag:get_cost_place();
}
virtual int get_bilets() const
{
return passvag:get_bilets();
}
3.2.6 Класс Cupevag
Поля:
Методы:
virtual int setinfo (const int number_vagon, const int kol_places, const int cost_place, const int bilets); // Ввести данные
virtual int setdata (const int number_vagon, const int bilets);
virtual int setbilets (const int bilets);
virtual int get_number_vagon() const
{
return passvag:get_number_vagon(); // Вывести данные
}
virtual int get_kol_places() const
{
return passvag:get_kol_places();
}
virtual int get_cost_place() const
{
return passvag:get_cost_place();
}
virtual int get_bilets() const
{
return passvag:get_bilets();
}
3.2.7 Класс Mailvag
Поля:
Методы:
virtual int setinfo (const int number_vagon); // Ввести данные
virtual int get_number_vagon() const
{
return slujvag:get_number_vagon(); // Вывести данные
}
3.2.8 Класс Restvag
Поля:
Методы:
virtual int setinfo (const int number_vagon); // Ввести данные
virtual int get_number_vagon() const
{
return slujvag:get_number_vagon(); // Вывести данные
}
3.2.9 Класс Bufvag
Поля:
Методы:
virtual int setinfo (const int number_vagon); // Ввести данные
virtual int get_number_vagon() const
{
return slujvag:get_number_vagon(); // Вывести данные
}
3.2.10 Класс Poezd
Поля:
int num; // номер рейса
int kol; // количество вагонов
int st_out; // станция отправления
int st_in; // станция прихода
int time_out; // время отправления
int time_in; // время прихода
Методы:
virtual int setinfo (const int number_poezd, const int kol_vagons, const int station_out, const int station_in, const int vremya_out, const int vremya_in); // Ввести данные
virtual int get_number_poezd() const
{
return num;
}
virtual int get_kol_vagons() const
{
return kol;
}
virtual int get_st_out() const
{
return st_out;
}
virtual int get_st_in() const
{
return st_in;
}
virtual int get_time_out() const
{
return time_out;
}
virtual int get_time_in() const
{
return time_in;
}
Руководство пользователя
1) Интерфейс программу интуитивно понятен: после запуска, программа автоматически создаёт список поездов. Параметры каждого поезда произвольно заполнены программой. Так же автоматически создаётся список вагонов с их параметрами. Каждый поезд имеет различное число вагонов и у них различные типы.
2) Пользователь может выбирать поезда и вагоны в соответствующих колонках для просмотра их статистики.
3) Продажа билетов осуществляется только в пассажирские вагоны, при наличии в них свободных мест. Для того чтобы продать билет, пользователь должен нажать кнопку «Продать Билет». Если выбран служебный вагон, или в вагоне не осталось свободных мест, эта кнопка будет заблокирована.
4) Для удобства в программе предусмотрен поиск поездов по станциям. Пользователь должен ввести названия станций с заглавной буквы в соответствующие поля и нажать кнопку «Найти». При удачном поиске, программа выделит найденный рейс в списке поездов и отобразит статистику поезда. Если поиск неудачен, программа очистит поля ввода.
5) Для создания новой базы поездов, пользователю необходимо кликнуть по кнопке «Генерировтаь». В этом случае произойдёт очистка памяти от существующей базы данных и будет создана новая.
Заключение
В результате изучения вышеуказанной проблемы была создана данная программа. Перед этим был изучен язык высокого уровня С++, среда разработки Microsoft Visual Studio 2008 и основы разработки для платформы.NET. Особое внимание потребовалось при разработке классов.
Список источников
С.В. Глушаков и Т.В. Дуравкина «Прграммирование на С++» 2-е издание.
Интернет-ресурс http; //msdn.microsoft.com/ru-ru/default.aspx.
Размещено на Allbest.ru
Подобные документы
Разработка программного продукта "Железная дорога". Вид и классификация инструментальных средств, используемых для создания прикладного ПО. Организация взаимодействия клиентской программы с базой данных; реализация системы контроля движения поездов.
курсовая работа [895,0 K], добавлен 11.11.2010Разработка базы данных "Расписание поездов", которая позволит узнавать все сведения о движение поездов: пункт отправления и прибытия поезда, время отправления и прибытия с начальной и конечной станции, цены и льготы. Руководство по ее использованию.
курсовая работа [2,9 M], добавлен 18.03.2011Необходимость особых подходов к проектированию сверхбольших БД. Создание БД для хранения информации о рейсах в программном продукте Microsoft Access 2003. Редактирование базы билетов. Поиск и просмотр информации в базе данных о бронировании билета.
курсовая работа [2,2 M], добавлен 18.11.2014Классификация баз данных. Создание списковой структуры, просмотр, удаление, сохранение в типизированном файле, восстановление из типизированного файла, поиск нужного элемента, создание отчета. Ввод, отображение и редактирование текстового материала.
курсовая работа [2,8 M], добавлен 22.12.2016Нормализация и схема базы данных, структура меню. Предназначение информационно-справочной системы. Покупка и бронирование билетов пассажирами. Программная реализация информационной системы. Справочники, документы, регистры, журналы, администрирование.
курсовая работа [1,2 M], добавлен 19.11.2010Разработка прикладной программы, организующей работу с базой данных флагов мира, осуществляющей просмотр и редактирование базы данных, поиск по категориям, сортировку данных с использованием базы данных Paradox 7. Системные требования к программе.
курсовая работа [200,4 K], добавлен 02.03.2009Понятия и принципы организации баз данных системы "Fox Pro". Описание объекта "Аэропорт". Общие сведения об инфологическом проектирование. Разработка специализированной базы данных для продажи билетов на самолет. Даталогическая модель "Учет рейса".
курсовая работа [54,1 K], добавлен 08.02.2012Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.
курсовая работа [532,7 K], добавлен 20.07.2014Особенности написания базы данных на языках программирования C++, применимой для расписания занятий в университете. Этапы работы: ввод новой записи, изменение, просмотр базы данных, поиск данных. Алгоритмы, используемые в процессе выполнения проекта.
практическая работа [16,6 K], добавлен 12.06.2010Сетевые информационные технологии, базирующиеся на архитектуре клиент-сервер. Автоматизация продажи билетов на пассажирские поезда. Функциональность базы данных, предоставление создателям информации о предметной области. Интерфейс, программные модули.
курсовая работа [1,8 M], добавлен 20.03.2009