Разработка и тестирование программного модуля

Разработка программного модуля для отслеживания стоимости междугородних телефонных переговоров с целью облегчения работы администратора гостиницы. Описание данных, используемых при решении задачи. Код программы и ее тестирование. Руководство программиста.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.06.2014
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

{

paste=i;

break;

}

}

if(Edit7->Text=="") {ShowMessage("Введи фамилию"); Edit7->SetFocus();}

else if(Edit8->Text=="") {ShowMessage("Введи имя"); Edit8->SetFocus();}

else if(Edit9->Text=="") {ShowMessage("Введи отчество"); Edit9->SetFocus();}

else if(ComboBox3->Text=="") {ShowMessage("Укажите номер"); ComboBox3->SetFocus();}

else if(DateTimePicker1->Date<Now()) {ShowMessage("Неользя указывать дату задним числом!");}

else if(int(DateTimePicker2->Date-DateTimePicker1->Date)<0) {ShowMessage("Невозможно уехать раньше чем приехал, лол :D");}

else if(strcmp(Form1->Nomers[paste].Guest,"free")==0)

{ Memo1->Lines->Clear();

Memo1->Lines->Add("Фамилия: "+Edit7->Text);

Memo1->Lines->Add("Имя: "+Edit8->Text);

Memo1->Lines->Add("Отчество: "+Edit9->Text);

Memo1->Lines->Add("Дата приезда: "+DateToStr(DateTimePicker1->Date));

Memo1->Lines->Add("Дата отезда: "+DateToStr(DateTimePicker2->Date));

Memo1->Lines->Add("Номер: "+ComboBox3->Text);

Memo1->Lines->Add("-----------------------------------");

Memo1->Lines->Add("Итого к оплате: "+ IntToStr(StrToInt(Nomers[paste].Stoim)*int(DateTimePicker2->DateTime-DateTimePicker1->DateTime))+" руб.");

Panel6->Show();

}

else

ShowMessage("Извините, номер занят.");

}

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

void __fastcall TForm1::ComboBox3Click(TObject *Sender)

{

for(int i=1;i<=KolN;i++)

{

ComboBox3->Items->Add(Nomers[i].Nomer);

}

}

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

void __fastcall TForm1::N2Click(TObject *Sender)

{

GUEST=fopen("guest.dat","wb");

fwrite(&Guests, sizeof(Guests), KolG, GUEST);

fclose(GUEST);

NOMER=fopen("nomer.dat","wb");

fwrite(&Nomers, sizeof(Nomers), KolN, NOMER);

fclose(NOMER);

KOLG=fopen("kolg.dat","wb");

fwrite(&KolG,sizeof(KolG),1,KOLG);

fclose(KOLG);

KOLN=fopen("koln.dat","wb");

fwrite(&KolN,sizeof(KolN),1,KOLN);

fclose(KOLN);

}

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

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

PanelAutor->Visible=false;

int j=0;

RadioButton1->Checked=true;

if(RadioButton2->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolG+2;

StringGrid1->ColCount=4;

StringGrid1->ColWidths[0]=200;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=50;

StringGrid1->Cells[0][0]="ФИО";

StringGrid1->Cells[1][0]="Дата прибытия";

StringGrid1->Cells[2][0]="Дата отъезда";

StringGrid1->Cells[3][0]="Номер";

for(int i=1;i<=KolG;i++)

{

if(Guests[i].Del==false)

{

j++;

StringGrid1->Cells[0][j]=Guests[i].Fam;

StringGrid1->Cells[1][j]=Guests[i].DataPr;

StringGrid1->Cells[2][j]=Guests[i].DataOt;

StringGrid1->Cells[3][j]=Guests[i].Nomer;

}

}

}

else if(RadioButton1->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolN+2;

StringGrid1->ColWidths[0]=50;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=70;

StringGrid1->ColCount=5;

StringGrid1->Cells[0][0]="Номер";

StringGrid1->Cells[1][0]="Класс";

StringGrid1->Cells[2][0]="Кол-во мест";

StringGrid1->Cells[3][0]="Стоимость";

StringGrid1->Cells[4][0]="Занятость";

for(int i=1;i<=KolN;i++)

{

j++;

StringGrid1->Cells[0][j]=Nomers[i].Nomer;

StringGrid1->Cells[1][j]=Nomers[i].Class;

StringGrid1->Cells[2][j]=Nomers[i].KolMest;

StringGrid1->Cells[3][j]=Nomers[i].Stoim;

StringGrid1->Cells[4][j]=Nomers[i].Guest;

}

}

}

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

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

int j=0;

RadioButton2->Checked=true;

if(RadioButton2->Checked)

{

char FIObuf[50];

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolG+2;

StringGrid1->ColCount=4;

StringGrid1->ColWidths[0]=200;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=50;

StringGrid1->Cells[0][0]="ФИО";

StringGrid1->Cells[1][0]="Дата прибытия";

StringGrid1->Cells[2][0]="Дата отъезда";

StringGrid1->Cells[3][0]="Номер";

for(int i=1;i<=KolG;i++)

{

if(Guests[i].Del==false)

{

j++;

strcpy(FIObuf,Guests[i].Fam);

strcat(FIObuf," ");

strcat(FIObuf,Guests[i].Name);

strcat(FIObuf," ");

strcat(FIObuf,Guests[i].Otch);

StringGrid1->Cells[0][j]=FIObuf;

StringGrid1->Cells[1][j]=Guests[i].DataPr;

StringGrid1->Cells[2][j]=Guests[i].DataOt;

StringGrid1->Cells[3][j]=Guests[i].Nomer;

}

}

}

else if(RadioButton1->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolN+2;

StringGrid1->ColWidths[0]=50;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=70;

StringGrid1->ColCount=5;

StringGrid1->Cells[0][0]="Номер";

StringGrid1->Cells[1][0]="Класс";

StringGrid1->Cells[2][0]="Кол-во мест";

StringGrid1->Cells[3][0]="Стоимость";

StringGrid1->Cells[4][0]="Занятость";

for(int i=1;i<=KolN;i++)

{

j++;

StringGrid1->Cells[0][j]=Nomers[i].Nomer;

StringGrid1->Cells[1][j]=Nomers[i].Class;

StringGrid1->Cells[2][j]=Nomers[i].KolMest;

StringGrid1->Cells[3][j]=Nomers[i].Stoim;

StringGrid1->Cells[4][j]=Nomers[i].Guest;

}

}

}

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

void __fastcall TForm1::Button6Click(TObject *Sender)

{

bool EstNomer=false, EstGuest=false;

int IndexNomer=0,IndexGuest=0;

if(RadioButton4->Checked)

{

for(int i=1;i<=KolN;i++) номера

{

if(strcmp(Nomers[i].Nomer,Edit5->Text.c_str())==0)

{

EstNomer=true;

IndexNomer=i;

break;

}

}

for(int i=1;i<=KolG;i++) // найти гостя из этого номера

{

if(strcmp(Form1->Guests[i].Nomer,Edit5->Text.c_str())==0)

{

EstGuest=true;

IndexGuest=i;

break;

}

}

if(EstNomer&&EstGuest)

{

strcpy(Nomers[IndexNomer].Guest,"free");

Guests[IndexGuest].Del=true;

}

else

{

EstGuest=false; EstNomer=false;

ShowMessage("Такого номера нет, либо он пуст.");

}

}

if(RadioButton3->Checked) //введена только фамилия

{

for(int i=1;i<=KolG;i++)

{

if(strcmp(Guests[i].Fam,Edit6->Text.c_str())==0)

{

EstGuest=true;

IndexGuest=i;

break;

}

}

for(int i=1;i<=KolN;i++) //найти номер в котором этот гость

{

if(strcmp(Nomers[i].Guest,Edit6->Text.c_str())==0)

{

EstNomer=true;

IndexNomer=i;

break;

}

}

if(EstNomer&&EstGuest)

{

strcpy(Form1->Guests[IndexGuest].Nomer,"0");

strcpy(Form1->Nomers[IndexNomer].Guest,"free");

}

else

{

EstGuest=false; EstNomer=false;

ShowMessage("Такого гостя нет.");

}

}

int j=0;

if(RadioButton2->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolG+2;

StringGrid1->ColCount=4;

StringGrid1->ColWidths[0]=200;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=50;

StringGrid1->Cells[0][0]="ФИО";

StringGrid1->Cells[1][0]="Дата прибытия";

StringGrid1->Cells[2][0]="Дата отъезда";

StringGrid1->Cells[3][0]="Номер";

for(int i=1;i<=KolG;i++)

{

if(Guests[i].Del==false)

{

j++;

StringGrid1->Cells[0][j]=Guests[i].Fam;

StringGrid1->Cells[1][j]=Guests[i].DataPr;

StringGrid1->Cells[2][j]=Guests[i].DataOt;

StringGrid1->Cells[3][j]=Guests[i].Nomer;

}

}

}

else if(RadioButton1->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolN+2;

StringGrid1->ColWidths[0]=50;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=70;

StringGrid1->ColCount=5;

StringGrid1->Cells[0][0]="Номер";

StringGrid1->Cells[1][0]="Класс";

StringGrid1->Cells[2][0]="Кол-во мест";

StringGrid1->Cells[3][0]="Стоимость";

StringGrid1->Cells[4][0]="Занятость";

for(int i=1;i<=KolN;i++)

{

j++;

StringGrid1->Cells[0][j]=Nomers[i].Nomer;

StringGrid1->Cells[1][j]=Nomers[i].Class;

StringGrid1->Cells[2][j]=Nomers[i].KolMest;

StringGrid1->Cells[3][j]=Nomers[i].Stoim;

StringGrid1->Cells[4][j]=Nomers[i].Guest;

}

}

//////////////

}

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

void __fastcall TForm1::Button8Click(TObject *Sender)

{

bool flag=false;

AnsiString date1=DateToStr(DateTimePicker1->Date);

AnsiString date2=DateToStr(DateTimePicker2->Date);

KolG++;

//проверка свободен ли номер

for(int i=1;i<=KolN;i++)

{

if(strcmp(Nomers[i].Nomer,ComboBox3->Text.c_str())==0) //Если есть такой номер

{

if(strcmp(Nomers[i].Guest,"free")==0)

{

flag=true;

strcpy(Nomers[i].Guest,Edit7->Text.c_str()); //добавить в структуру "номер" поле ФАМИЛИЯ из гостя

break;

}

else

{

flag=false;

}

}

else

{

flag=false;

}

}

if(flag)

{

strcpy(Guests[KolG].Fam,Edit7->Text.c_str());

strcpy(Guests[KolG].Name,Edit8->Text.c_str());

strcpy(Guests[KolG].Otch,Edit9->Text.c_str());

strcpy(Guests[KolG].DataPr,date1.c_str());

strcpy(Guests[KolG].DataOt,date2.c_str());

strcpy(Guests[KolG].Nomer,ComboBox3->Text.c_str());

Guests[KolG].Del=false;

AnsiString buf=Guests[KolG].Fam;

Memo1->Lines->SaveToFile("Квитанция "+buf+".txt");

}

else

{

KolG--;

ShowMessage("Такого номера не существует либо он занят другим гостем");

}

Panel6->Visible=false;

///////////

int j=0;

if(RadioButton2->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolG+2;

StringGrid1->ColCount=4;

StringGrid1->ColWidths[0]=200;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=50;

StringGrid1->Cells[0][0]="ФИО";

StringGrid1->Cells[1][0]="Дата прибытия";

StringGrid1->Cells[2][0]="Дата отъезда";

StringGrid1->Cells[3][0]="Номер";

for(int i=1;i<=KolG;i++)

{

if(Guests[i].Del==false)

{

j++;

StringGrid1->Cells[0][j]=Guests[i].Fam;

StringGrid1->Cells[1][j]=Guests[i].DataPr;

StringGrid1->Cells[2][j]=Guests[i].DataOt;

StringGrid1->Cells[3][j]=Guests[i].Nomer;

}

}

}

else if(RadioButton1->Checked)

{

SGCLEAR(StringGrid1);

StringGrid1->RowCount=KolN+2;

StringGrid1->ColWidths[0]=50;

StringGrid1->ColWidths[1]=100;

StringGrid1->ColWidths[2]=100;

StringGrid1->ColWidths[3]=70;

StringGrid1->ColCount=5;

StringGrid1->Cells[0][0]="Номер";

StringGrid1->Cells[1][0]="Класс";

StringGrid1->Cells[2][0]="Кол-во мест";

StringGrid1->Cells[3][0]="Стоимость";

StringGrid1->Cells[4][0]="Занятость";

for(int i=1;i<=KolN;i++)

{

j++;

StringGrid1->Cells[0][j]=Nomers[i].Nomer;

StringGrid1->Cells[1][j]=Nomers[i].Class;

StringGrid1->Cells[2][j]=Nomers[i].KolMest;

StringGrid1->Cells[3][j]=Nomers[i].Stoim;

StringGrid1->Cells[4][j]=Nomers[i].Guest;

}

}

//////////////

}

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

void __fastcall TForm1::N3Click(TObject *Sender)

{

char ved[100];

Memo1->Lines->Clear();

for(int i=1;i<=KolG;i++)

{

strcpy(ved,Guests[i].Fam); strcat(ved," ");

strcat(ved,Guests[i].Name); strcat(ved," ");

strcat(ved,Guests[i].Otch); strcat(ved," поселён в номере ");

strcat(ved,Guests[i].Nomer); strcat(ved," c ");

strcat(ved,Guests[i].DataPr); strcat(ved," по ");

strcat(ved,Guests[i].DataOt);

Memo1->Lines->Add(ved);

}

Memo1->Lines->SaveToFile("Ведомость гостей.txt");

Memo1->Lines->Clear();

ShowMessage("Ведомость успешно сохранена");

}

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

void __fastcall TForm1::Button10Click(TObject *Sender)

{

PanelAutor->Visible=false;

}

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

void __fastcall TForm1::N19Click(TObject *Sender)

{

PanelAutor->Visible=true;

}

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

void __fastcall TForm1::N4Click(TObject *Sender)

{

Form1->Close();

}

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

void __fastcall TForm1::Button9Click(TObject *Sender)

{

Panel6->Visible=false;

}

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

void __fastcall TForm1::Edit4KeyPress(TObject *Sender, char &Key)

{

if(IsCharAlpha(Key) || Key == '*' || Key == ' '|| Key == '&'|| Key == '!'|| Key == '@'|| Key == '#'|| Key == '$'|| Key == '%'|| Key == '^'|| Key == '('|| Key == ')'|| Key == '-'|| Key == '='|| Key == '+'|| Key == '_'|| Key == '~'|| Key == ','|| Key == '.'|| Key == '<'|| Key == '>'|| Key == '|'|| Key == '?'|| Key == ';'|| Key == ':')

Key = 0;

}

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

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

Label14->Caption =Now();

}

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

void __fastcall TForm1::Button11Click(TObject *Sender)

{

Panel7->Visible=false;

}

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

void __fastcall TForm1::N18Click(TObject *Sender)

{

Panel7->Visible=true;

WideString patch=WideString(ExtractFilePath(ParamStr(0)));

CppWebBrowser1->Navigate(patch+WideString(L"Spravka/Index.html"));

}

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

Размещено на Allbest.ru


Подобные документы

  • Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.

    курсовая работа [81,7 K], добавлен 18.08.2014

  • Проектирование программного модуля. Описание схемы программы и структуры разрабатываемого пакета. Написание кода ввода исходных данных и основных расчетов. Тестирование программного модуля. Тестирование решения задачи. Методы численного интегрирования.

    курсовая работа [549,9 K], добавлен 20.03.2014

  • Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.

    курсовая работа [215,3 K], добавлен 01.09.2010

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.

    дипломная работа [101,2 K], добавлен 17.06.2011

  • Определение системы m линейных уравнений с n неизвестными. Математическая модель задачи. Анализ входных и выходных данных. Требования к надежности разрабатываемой программы. Структурная диаграмма программного модуля. Разработка блок-схем и тестирование.

    курсовая работа [162,0 K], добавлен 28.08.2012

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

    курсовая работа [687,2 K], добавлен 03.10.2013

  • Разработка СУБД - программного модуля для систематизации, хранения и обработки сведений о работниках лаборатории. Технологический процесс машинной реализации задачи, составление алгоритма, описание переменных процедур и функций. Листинг программы.

    курсовая работа [1,7 M], добавлен 11.01.2013

  • Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.

    курсовая работа [146,6 K], добавлен 01.09.2010

  • Разработка и реализация программы расчета заданных функций на языке программирования VBA. Математическая модель, параметры и характеристики задачи, критерии оценки эффективности созданного модуля. Разработка алгоритма и тестирование программного модуля.

    курсовая работа [488,7 K], добавлен 08.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.