Автор работы: Пользователь скрыл имя, 30 Января 2013 в 10:40, курсовая работа
В процессе выполнения курсового проекта было изучено понятие информационной системы, выявлены основные классификации ИС.
Было проведено исследование уже существующих информационных систем гостиниц и отелей. На их основе мной была создана информационно-поисковая автоматизированная информационная система “Отель”. Программа автоматизирует работу сотрудника отеля. В программе реализованы ввод и хранение информации о постояльцах гостиницы, информация о состоянии номеров, услугах которые предоставляются клиентам гостиницы, также осуществляются функции поиска информации в базе данных по различным критериям. Формируются отчёты о клиенте и суммарной стоимости проживания его в номере.
Содержание
ВВЕДЕНИЕ 2
ГЛАВА 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. ПОНЯТИЕ И СТРУКТУРА ИС 4
1.1. ПОНЯТИЕ ИС 4
1.2. КЛАССИФИКАЦИЯ ИНФОРМАЦИОННЫХ СИСТЕМ 7
1.3. ОБЗОР СОВРЕМЕННЫХ АИС ГОСТИНИЦ 10
ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ. РАЗРАБОТКА АИС ГОСТИНИЦЫ 15
2.1. ПОСТАНОВКА ЗАДАЧИ 15
2.2. ВЫБОР СРЕДЫ РАЗРАБОТКИ И ЯЗЫКА ПРОГРАММИРОВАНИЯ 16
2.3. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЮ 25
2.4. ИНСТРУКЦИЯ ПРОГРАММИСТУ 30
ЗАКЛЮЧЕНИЕ 35
СПИСОК ЛИТЕРАТУРЫ 36
ПРИЛОЖЕНИЕ A 37
ПРИЛОЖЕНИЕ Б 48
Также в главном окне рядом с вкладкой таблицы есть вкладка правка, в которой содержаться такие функции как, сохранить данные в таблицах и очистки главной таблицы и таблицы услуги. При нажатии на вкладку о программе, появиться окно с указанием автора программы и краткой информацией о ней.
Рис. 8. Окно “О программе”
Программа “Гостиница” разработана в среде Borland C++ Builder, база данных создана в формате Paradox 7.
Таблицы в программе подключаются при помощи компонента Table, а отображаются по средствам компонента DBGrid, навигация осуществляется использованием компонента DBNavigator, связь осуществляется через компонент DataSource.
При редактировании таблицы “список постояльцев гостиницы”, необходимо выбрать вид номера из таблицы “Виды номеров”. Для этого используется событие OnCellClick для компонента DBGrid, которое осуществляет переход по одинарному щелчку мыши по полю. Ниже приведён код для этого события.
switch(Column->Index)
{
case 7:Form2->Show(); break;
case 8:Form3->Show(); break;
}
Оператор выбора в зависимости от выбранного поля открывает ту или иную форму с нужной таблицей. Эта процедура осуществляется следующим кодом.
После выбора вида номера и нажатии кнопки “записать” осуществляется подстановка в главную таблицу выбранного вида номера в соответствующее поле и подсчёт стоимости проживания. Эта процедура осуществляется следующим кодом.
int a;
Form1->Table1->Edit();
Form1->Table1Vid->Value=Form2-
Form1->Table1Price->Value=
Form1->Table1->Edit();
Form1->Edit1->Text=IntToStr(
a=StrToInt(Form1->Edit1->Text)
Form1->Table1Price->Value=a*(
Form2->Close();
При выборе номера из таблицы номера этот номер должен исчезнуть из списка свободных, это достигается следующим кодом.
Form1->Table1->Edit();
Form1->Table1Nomer->Value=
Form3->Table1->Edit();
Form3->DataSource1->DataSet->
Form3->Close();
При удалении записи из таблицы “список постояльцев отеля”, необходимо вернуть номер в список освободившихся, для этого нужно определить к какому виду номеров он относился, и добавить в запись в соответствующую таблицу, при этом код нужно прописать в событии BeforeDelete для компонента DBGrid.
if(Table1Vid->Value=="Эконом")
{
Form3->Table1->Edit();
Form3->DataSource1->DataSet->
Form3->Table1->Edit();
Form3->DataSource1->DataSet->
Form3->Table1Nomera->Value=
}
if(Table1Vid->Value=="Удобства на блок (2+2)")
{
Form3->Table2->Edit();
Form3->DataSource2->DataSet->
Form3->Table2->Edit();
Form3->DataSource2->DataSet->
Form3->Table2Nomera->Value=
}
if(Table1Vid->Value=="С удобствами")
{
Form3->Table3->Edit();
Form3->DataSource3->DataSet->
Form3->Table3->Edit();
Form3->DataSource3->DataSet->
Form3->Table3Nomera->Value=
}
Поиск в программе осуществляется в компоненте Edit, код пишется для события Change, это позволяет сделать поиск динамичным. Ниже пример поиска по виду номера.
AnsiString s;
if(Edit4->Text!="")
{
s="'"+Edit4->Text+"*"+"'";
Table1->Filtered=true;
Table1->Filter="Vid="+s;
}
else Table1->Filtered=false;
В поиске по серии и номеру паспорта, для того, чтобы нельзя было вводить буквы и другие символы кроме цифр, в событии KeyPress для поля ввода Edit пишется следующий код.
if((Key>='0')&&(Key<='9')||(
return;
else Key=0;
В таблицы “Отчёты”, после ввода серии и номера паспорта при нажатии кнопки “Сформировать отчёт” осуществляется поиск запрашиваемой записи в таблицах “список постояльцев гостиницы” и “Услуги оказанные постояльцам”, поиск осуществляется при помощи цикла for, число записей таблице определяется функцией RecordCount.
Form1->DataSource1->DataSet->
Form1->DataSource2->DataSet->
int s=0, i=0;
for(i=Form1->DataSource1->
{
if(Form1->Table1Id->Value==
{
Table1->Edit();
Table1F->Value=Form1->Table1F-
Table1Name->Value=Form1->
Table1LName->Value=Form1->
Table1Id->Value=Form1->
Table1Data->Value=Form1->
Table1OData->Value=Form1->
Table1Price->Value=Form1->
}
Form1->DataSource1->DataSet->
}
for(i=Form1->DataSource2->
{
if(Form1->Table2Id->Value==
{
Table1->Edit();
s=s+Form1->Table2Price->Value;
Table1UPrice->Value=s;
}
Form1->DataSource2->DataSet->
}
Table1->Edit();
Table1Itog->Value=Table1Price-
Полный код работы программы содержится в Приложении A.
ЗАКЛЮЧЕНИЕ
В процессе выполнения курсового проекта было изучено понятие информационной системы, выявлены основные классификации ИС.
Было проведено исследование уже существующих информационных систем гостиниц и отелей. На их основе мной была создана информационно-поисковая автоматизированная информационная система “Отель”. Программа автоматизирует работу сотрудника отеля. В программе реализованы ввод и хранение информации о постояльцах гостиницы, информация о состоянии номеров, услугах которые предоставляются клиентам гостиницы, также осуществляются функции поиска информации в базе данных по различным критериям. Формируются отчёты о клиенте и суммарной стоимости проживания его в номере.
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ A
Листинг АИС «Отель»
Unit 1:
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <io.h>
#include <string.h>
#pragma hdrstop
#include "Unit4.h"
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit5.h"
#include "Unit6.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
//----------------------------
void __fastcall TForm1::DBGrid1CellClick(
{
switch(Column->Index)
{case 7:Form2->Show(); break;
case 8:Form3->Show(); break;
}
if(Table1OData->Value==Date())
{
Form3->DataSource3->DataSet->
Form3->Table3->Edit();
Form3->DataSource3->DataSet->
Form3->Table3Nomera->Value=
Form1->Table1->Edit();
Form1->DataSource1->DataSet->
}
}
//----------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form3->Show();
}
//----------------------------
void __fastcall TForm1::Table1BeforeDelete(
{
if(Table1Vid->Value=="Эконом")
{Form3->Table1->Edit();
Form3->DataSource1->DataSet->
Form3->Table1->Edit();
Form3->DataSource1->DataSet->
Form3->Table1Nomera->Value=
if(Table1Vid->Value=="С удобствами на блок (2+2)")
{Form3->Table2->Edit();
Form3->DataSource2->DataSet->
Form3->Table2->Edit();
Form3->DataSource2->DataSet->
Form3->Table2Nomera->Value=
if(Table1Vid->Value=="С удобствами")
{Form3->Table3->Edit();
Form3->DataSource3->DataSet->
Form3->Table3->Edit();
Form3->DataSource3->DataSet->
Form3->Table3Nomera->Value=
}
//----------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form4->Show();
}
//----------------------------
void __fastcall TForm1::DBGrid2CellClick(
{
switch(Column->Index)
{case 3:Form4->Show(); break;
}
}
//----------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Form5->Show();
}
//----------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
AnsiString s;
if(Edit2->Text!="")
{
s="'"+Edit2->Text+"*"+"'";
Table1->Filtered=true;
Table1->Filter="F="+s;
}
else Table1->Filtered=false;
}
//----------------------------
void __fastcall TForm1::Edit3Change(TObject *Sender)
{
AnsiString s;
if(Edit3->Text!="")
{
s=Edit3->Text;
Table1->Filtered=true;
Table1->Filter="Id="+s;
}
else Table1->Filtered=false;
}
//----------------------------
void __fastcall TForm1::Edit4Change(TObject *Sender)
{
AnsiString s;
if(Edit4->Text!="")
{
s="'"+Edit4->Text+"*"+"'";
Table1->Filtered=true;
Table1->Filter="Vid="+s;
}
else Table1->Filtered=false;
}
//----------------------------
void __fastcall TForm1::Edit5Change(TObject *Sender)
{
AnsiString s;
if(Edit5->Text!="")
{
s=Edit5->Text;
Table1->Filtered=true;
Table1->Filter="Nomer="+s;
}
else Table1->Filtered=false;
}
//----------------------------
Информация о работе Разработка автоматизированной информационной системы «Отель»