|
|||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Разработка программы
На форме отображается кнопка «Добавить», «Удалить», «Вывести». При нажатии кнопки «Добавить» программа вносит новые данные в список новой заявки клиента. При нажатии кнопки «удалить» программа удаляет выделеную заявку из списка. Если нам необходимо найти нужные заявки по дате вылета или по номеру рейса то необходимо ввести нужную нам дату или указать номер рейса и нажать кнопку вывести. Программа выводит в списке все найденные завки на авиабилеты. Данные о заявках будут храниться в файле. На форме нам будут необходимы следующие компоненты
1. TLabel- компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов.
2. TEdit- этот компонент представляет собой редактируемую строку (далее - просто редактор)
3. TButton- кнопка.
4. StrinGrid1– этот компонент реализует возможности отображения списков таблице 5. Переключатели RadioButton1 –
6. Компонент DateTimePicker1 -
1. TSaveDialog и TOpenDialog – эти компоненты – диалоги предназначены для выбора имени файла, который будет в дальнейшем использован для чтения и записи. TMainMenu – компонент предназначен для создания меню.
Программа заявок на авиабилеты
Форма для внесения новой заявки на авиабилеты
Хранение и загрузка данных происходит с помошью меню прграммы
2.2 Спецификация программы
Название программы - «Заявка на авиабилеты» в ее состав входит:
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 Отладка программы
Чаще для того, чтобы найти причину ошибки, надо выполнить какой-то фрагмент программы, наблюдая изменения переменных при выполнении каждой команды. Для прохода фрагмента программы по шагам можно использовать команды:
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; Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.018 сек.) |