АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Разработка программы

Читайте также:
  1. Creating a VHDL Source (создание файла, содержащего текст программы на языке VHDL).
  2. II этап. Разработка модели.
  3. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  4. III. Требования к условиям реализации основной образовательной программы дошкольного образования
  5. IV. Требования к результатам освоения основной образовательной программы дошкольного образования
  6. RAND RESEARCH AND DEVELOPMENT CORPORATION (“Корпорация Рэнд” — “Корпорация по научно-исследовательским и опытно-конструкторским разработкам”)
  7. RAND RESEARCH AND DEVELOPMENT CORPORATION («Корпорация Рэнд» – «Корпорация по научноисследовательским и опытноконструкторским разработкам»)
  8. SWOT-анализ раздела «Цели образовательной программы»
  9. V. Ожидаемые результаты реализации Программы
  10. Анализ опасных факторов и разработка контрольных и предупреждающих действий.
  11. В: тогда такой вопрос: как они все там относятся к тому, что остальные потерялись на дне? это часть программы или провал миссии?
  12. Ведущий авторской программы

 

На форме отображается кнопка «Добавить», «Удалить», «Вывести». При нажатии кнопки «Добавить» программа вносит новые данные в список новой заявки клиента.

При нажатии кнопки «удалить» программа удаляет выделеную заявку из списка.

Если нам необходимо найти нужные заявки по дате вылета или по номеру рейса то необходимо ввести нужную нам дату или указать номер рейса и нажать кнопку вывести. Программа выводит в списке все найденные завки на авиабилеты.

Данные о заявках будут храниться в файле.

На форме нам будут необходимы следующие компоненты

 

1. TLabel- компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов.

 

2. TEdit- этот компонент представляет собой редактируемую строку (далее - просто редактор)

 

3. TButton- кнопка.

 

 

4. StrinGrid1– этот компонент реализует возможности отображения списков таблице

5. Переключатели RadioButton1 –

 

 

 

6. Компонент DateTimePicker1 -

 

 

 

1. 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->Date) ||

MonthOf(it->date)!= MonthOf(Form1->DateTimePicker1->Date) ||

YearOf(it->date)!= YearOf(Form1->DateTimePicker1->Date)

)

)

{

continue;

}

 

Form1->StringGrid1->RowCount++;

Form1->StringGrid1->Cells[0][i] = it->dest;

Form1->StringGrid1->Cells[1][i] = it->number;

Form1->StringGrid1->Cells[2][i] = it->fio;

Form1->StringGrid1->Cells[3][i] = DateToStr(it->date);

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->FileName.c_str()); // сохраняем список

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)

{

if (OpenDialog1->Execute())

{

list.LoadFromFile(OpenDialog1->FileName.c_str()); // загружаем список

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_str(), CSpinEdit1->Value,

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Мгц, клавиатура.

Рекомендуемы системные требования к ЭВМ: 10Мб ОЗУ, процессор с частотой 849 Мгц, манипулятор типа «мышь», цветной дисплей, клавиатура.

 

2.4.4 Вызов и загрузка

 

Загрузка данных в программу происходит из файла с помощью меню загрузить.

 

2.5 Отладка программы

 

Чаще для того, чтобы найти причину ошибки, надо выполнить какой-то фрагмент программы, наблюдая изменения переменных при выполнении каждой команды.

Для прохода фрагмента программы по шагам можно использовать команды:

Команда Горячие" клавиши Пояснения
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. ЛИТЕРАТУРА

 

 

1) Архангельский А.Я. Программирование в С++ Builder 5 – СПб: Бином, 2000;

2) Брукшир Дж. Гленн Введение в компьютерные науки. Учебник. – М.: Вильямс, 2001;

3) Буч Г. Объектно-ориентированные анализ и проектирование с примерами на С++. – СПб: Бином, 1998;

4) Вирт Н. Алгоритмы + структуры данных=программы. - М.: Мир,1985;

5) Кнут Д. Искусство программирования для ЭВМ. Т1. Основные алгоритмы. - М.: Мир, 1976. - 736с.;

6) Кнут Д. Искусство программирования для ЭВМ. Т3. Сортировка и поиск. - М.: Мир, 1978. -844с.;

7) Ласло М. Вычислительная геометрия и компьютерная графика на С++. - СПб: Бином, 1997;

8) Страуструп Б. Язык программирования С++. – СПб: Бином, 1999;

9) Шилдт Г. Теория и практика С++. – СПб: BHV, 1996;


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.018 сек.)