Бронирование балетов
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ»
КАФЕДРА АВТОМАТИЗАЦИИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КУРСОВАЯ РАБОТА
по дисциплине «Алгоритмические языки и программирование»
Тема: Бронирование балетов
Вариант № 3
Выполнил:
студент группы
Проверила:
Тюмень 2012
Содержание
Введение………………………………………………………… | |||
1 |
Разработка эскизного и технического проектов программы……………... | ||
1.1 |
Назначение и область применения…………………………………. | ||
1.2 |
Технические характеристики………………………………………… | ||
1.2.1 |
Постановка задачи………………………………… | ||
1.2.2 |
Описание алгоритма……………………………… | ||
1.2.3 |
Организация входных и выходных данных……………….. | ||
1.2.4 |
Выбор состава технических и программных средств…….. | ||
1.3 |
Источники, использованные при разработке……………………...... | ||
2 |
Разработка рабочего проекта……………………………………………… | ||
2.1 |
Разработка программы………………………… | ||
2.2 |
Спецификация программы…………………… | ||
2.3 |
Текст программы……………………………………………………… | ||
2.4 |
Описание программы……………………………… | ||
2.4.1 |
Общие сведения……………………………………………… | ||
2.4.2 |
Функциональное назначение…………… | ||
2.4.4 |
Используемые технические средства……………………….. | ||
2.4.5 |
Вызов и загрузка……………………………………………… | ||
2.5 |
Тестирование программы…………………… | ||
3 |
Литература…………………………………………………… | ||
Введение
Задание на курсовую работу по дисциплине «Алгоритмические языки и программирование».
Тема: «Бронирование билетов».
Условие задачи:
Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает:
- пункт назначения;
- номер рейса;
- фамилию и инициалы пассажира;
- желаемую дату вылета.
Программа должна обеспечивать:
- хранение всех заявок в виде списка;
- добавление заявок в список;
- удаление заявок;
- вывод заявок по заданному номеру рейса и дате вылета;
- вывод всех заявок.
Задание выдано: ________________________/Число и подпись/
Разработка эскизного и техниче
ского проектов программы
1.1 Назначение и область применения
Программа «Заявка на авиабилеты»
предназначена для ведения учета купленных
и забронированных авиабилетов .
Программа имеет следующий функционал:
Внесение новой заявки в список
Удаление заявки из списка
Поиск заявок в списке по дате вылета и по номеру рейса
хранения данных о заявках в файле
формирование данных обо всех заявках в виде списка
загрузка данных о заявках на авиабилеты из файла.
Область применения программы в отделе заявок службы авиакомпании
Технические характеристики
1.2.1 Постановка задачи
Разработать программу для заявак на авиабилеты
1.2.2 Описание алгоритма
Создаем форму, на которой будут отображаться компоненты программы и запрограмируем их. На первой форме отображается кнопка «Добавить заявку», «Удалить заявки», «Вывести заявк».
При нажатии кнопки «Добавить» программа вносит новые данные в список новой заявки клиента.
- При нажатии кнопки «удалить» программа удаляет выделеную заявку из списка.
Если нам необходимо найти нужные заявки по дате вылета или по номеру рейса то необходимо ввести нужную нам дату или указать номер рейса и нажать кнопку показать. Программа выводит нам в нижнем списке все найденные завки на авиабилеты.
Данные о заявках будут храниться в файле.
1.2.3 Организация входных и выходных данных
Входные данные
Файл с данными Save .dat здесь храняться данные о всех заявках.
1.2.4 Выбор состава технических и программных средств
Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ. Объектный подход информационного моделирования предметных областей все более успешно применяется в качестве основы для структуризации их информационных отражений и, в частности, баз знаний.
1.3 Источники, использованные при разработке
При разработке данного проекта использовались следующие источники
Сайты, посвященные программированию на языке C/C++:
www.cbuilder.ru
www.rxlib.ru
www.ishodniki.ru
www.netcode.ru
www.codenet.ru
www.getsoft.ru/programming/c/
www.cyberguru.ru
www.citforum.ru/programming/c.
www.realcoding.net/article/
www.alglib.sources.ru
- Форумы:
- www.forum.vingrad.ru/sources/
C++C.html
- www.forum.codeby.net/forum8.
html - www.programmersforum.ru/
forumdisplay.php?s= 6c3ac6911343a240681a4631f2691f 62&f=13
2.Разработка рабочего проекта
2.1 Разработка программы
На форме отображается кнопка «Добавить», «Удалить», «Вывести». При нажатии кнопки «Добавить» программа вносит новые данные в список новой заявки клиента.
При нажатии кнопки «удалить» программа удаляет выделеную заявку из списка.
Если нам необходимо найти нужные заявки по дате вылета или по номеру рейса то необходимо ввести нужную нам дату или указать номер рейса и нажать кнопку вывести. Программа выводит в списке все найденные завки на авиабилеты.
Данные о заявках будут
На форме нам будут необходимы следующие компоненты
- TLabel- компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов.
- TEdit- этот компонент представляет собой редактируемую строку (далее - просто редактор)
- TButton- кнопка.
- StrinGrid1– этот компонент реализует возможности отображения списков таблице
- Переключатели RadioButton1 –
- Компонент DateTimePicker1 -
- TSaveDialog и TOpenDialog – эти компоненты – диалоги предназначены для выбора имени файла, который будет в дальнейшем использован для чтения и записи.
TMainMenu – компонент предназначен для создания меню.
Программа заявок на авиабилеты
Форма для внесения новой заявки на авиабилеты
Хранение и загрузка данных происходит с помошью меню прграммы
2.2 Спецификация программы
Название программы - «Заявка на авиабилеты» в ее состав входит:
Обозначение |
Наименование |
Примечание |
list_avia.bpr |
Файл проекта |
Связывает все файлы приложения |
save.dat |
Файл данных |
Файл, в котором сохраняются все данные программы |
Unit1.cpp |
Файл модуля 1 проекта |
Реализация класса «стек» |
list_avia.exe |
Файл запуска |
Запускает рабочую программу |
2.3 Текст программы
//----------------------------
#include <vcl.h>
#include <string.h>
#include <stdlib.h>
#include <DateUtils.hpp>
#pragma hdrstop
#include "Unit1.h"
#include "Unit3.h"
#include "ulist.h"
//----------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
TAviaList list ; // список заявок
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
list.Init();
}
//----------------------------
void ShowList () {
Form1->StringGrid1->RowCount = 1 ;
int i = 1;
// вывод заявок
for ( TAviaListItem * it = list.first; it != NULL ; it = it -> next ) {
// если нужно выводить по номеру рейса но номер не совпадает то не выводим
if (Form1->RadioButton2->Checked && it->number != Form1->CSpinEdit1->Value)
{
continue;
}
// если нужно выводить по дате но дата не совпадает то не выводим
if (Form1->RadioButton3->Checked &&
(
DayOf(it->date) != DayOf(Form1->DateTimePicker1->
MonthOf(it->date) != MonthOf(Form1->
YearOf(it->date) != YearOf(Form1->DateTimePicker1-
)
)
{
continue;
}
Form1->StringGrid1->RowCount++
Form1->StringGrid1->Cells[0][
Form1->StringGrid1->Cells[1][
Form1->StringGrid1->Cells[2][
Form1->StringGrid1->Cells[3][
i++;
}
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
StringGrid1->ColWidths[0] = 120;
StringGrid1->Cells[0][0] = " Пункт назначения ";
StringGrid1->ColWidths[1] = 160;
StringGrid1->Cells[1][0] = " Номер рейса";
StringGrid1->ColWidths[2] = 200;
StringGrid1->Cells[2][0] = " ФИО пассажира";
StringGrid1->ColWidths[3] = 100;
StringGrid1->Cells[3][0] = " Дата вылета";
}
//----------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
list.Clear();
}
//----------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
if (SaveDialog1->Execute())
{
list.SaveToFile(SaveDialog1->
}
}
//----------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{
if (OpenDialog1->Execute())
{
list.LoadFromFile(OpenDialog1-
ShowList (); // обвноляем список
}
}
//----------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TForm3* f3 = new TForm3(this);
f3->SetList(list) ;
f3->ShowModal();
ShowList (); // обвноляем список
delete f3;
}
//----------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
if (StringGrid1->Row > 0) {
// удаление
list.Delete(StringGrid1->Row - 1) ;
ShowList();
}
}
//----------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
Button4Click(NULL); //удаление
}
//----------------------------
void __fastcall TForm1::N8Click(TObject *Sender)
{
Button2Click(NULL); //добавление
}
//----------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ShowList();
}
//----------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
Close();
}
//----------------------------
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
//----------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm3 *Form3;
//----------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void TForm3 :: SetList (TAviaList & list) {
this->plist = & list;
}
void __fastcall TForm3::Button3Click(TObject *Sender)
{
// добавление
plist->Add(new TAviaListItem(Edit2->Text.c_
Edit4->Text.c_str() , this->DateTimePicker1->Date ));
// задержка
Button3->Enabled = false;
for (int i = 0 ; i < 10 ; i++) {
Application->ProcessMessages()
Sleep(100);
}
Button3->Enabled = true;
}
//----------------------------
2.4 Описание программы
2.4.1 Общие сведения
Наименование программы: Заявка на авиабилеты
Для функционирования программы необходимо наличие файлов: «list_avia.exe», «save.dat»
Программа реализована на языке программирования С++.
Операционная система Microsoft Windows XP Professional, Виста,
windows 7.
2.4.2 Функциональное назначение
Программа предназначена для регистрирования заявок на авиабилеты
2.4.3 Используемые технические средства
Минимальные системные требования к ЭВМ: 640Кб ОЗУ, 10Мб свободного дискового пространства, процессор с частотой не менее 133Мгц, клавиатура.
Рекомендуемы системные
2.4.4 Вызов и загрузка
Загрузка данных в программу происходит из файла с помощью меню загрузить.
- отладка программы
Чаще для того, чтобы найти причину ошибки, надо выполнить какой-то фрагмент программы, наблюдая изменения переменных при выполнении каждой команды.
Для прохода фрагмента программы по шагам можно использовать команды:
Команда |
Горячие" клавиши |
Пояснения |
Step Over (По шагам без захода в...) |
F8 |
Пошаговое выполнение строк программы, считая вызов функции за одну строку, т.е. вход в функции не производится. |
Trace Into (Трассировка с захо-дом в...) |
F7 |
Пошаговое выполнение программы с заходом в вызываемые функции. |
Trace to Next Source Line (Трас-сировка до следующей строки) |
Shift+F7 |
Переход к следующей исполняемой строке. |
Run to Cursor (Выполнить до курсора) |
F4 |
Команда выполняет программу до того выполняемого оператора, на котором расположен курсор в окне редактора кода. |
Run Until Return (Выполнить до выхода из функции) |
Shift+F7 |
Выполнение программы до выхода из текущей функции, останов на операторе, следующем за вызовом этой функции. |
Show Execution Point (Показать точку выполнения) |
-- |
Команда помещает курсор на операторе, который будет выполняться следующим. |
3. Литература
- Архангельский А.Я. Программирование в С++ Builder 5 – СПб: Бином, 2000
- Брукшир Дж. Гленн Введение в компьютерные науки. Учебник. – М.: Вильямс, 2001
- Буч Г. Объектно-ориентированные анализ и проектирование с примерами на С++. – СПб: Бином, 1998
- Вирт Н. Алгоритмы + структуры данных=программы. - М.: Мир,1985.
- Кнут Д. Искусство программирования для ЭВМ. Т1. Основные алгоритмы. - М.: Мир, 1976. - 736с.
- Кнут Д. Искусство программирования для ЭВМ. Т3. Сортировка и поиск. - М.: Мир, 1978. -844с.
- Ласло М. Вычислительная геометрия и компьютерная графика на С++. - СПб: Бином, 1997
- Страуструп Б. Язык программирования С++. – СПб: Бином, 1999
- Шилдт Г. Теория и практика С++. – СПб: BHV, 1996

- Бронирование в туризме
- Бронирование гостиничного продукта
- Бронирование туристских услуг в сети интернет
- Бронирование услуг для индивидуального тура в Тайланд посредством интернета
- Бронирование услуг для индивидуального тура в Тайланд посредством интернета
- Бронхиальная астма
- Бронхиальная астма
- Брокерская фирма, функции, биржевые торги
- Брокерские интернет-услуги
- Брокерские интернет-услуги
- Брокерские операции с ценными бумагами
- Брокерско - дилерские компании
- Брокерское дело
- Бронирование