Você está na página 1de 49

Shri rama Krishna group of institute, satna

A PROJECT REPORT ON

online hotel
management system

MAJOR - PROJECT
Submitted in partial fulfillment of the requirements for the award
of the degree
pgdca

Session -2016-17

Submitted by

Keerti singh (pgdca)


Guided by principal hod
Mr Ashok upadhyay Dr. Kavita Parvanda Mr.
Neeraj Sharma

Submitted t0
Awadhesh Pratap Singh Vishwavidyalaya Rewa(M.P.)
ACKNOWLWDGEMENT

Exchange of ideas generates the new object to work in a better way whenever a person is
helped and cooperated by others his heart is bound to pay gratitude and obligation to them. To
develop a project is not a one-man show. It is essentially a collective work, where every step
taken with all precautions and care. Therefore our first duty is to thanks all persons who took
pain in completing this project.

Firstly, we thank Mr Neeraj sharma, who gave us inspiration to do work in this field and gave
us her precious time whenever needed. Thanks may be matter of merely formality but with us
it is expression of heartfelt gratitude to our project supervision. We are highly indebted for her
gestures, invaluable suggestions and boosting confidence to make this successful. The
success of this work is mostly due to her suitable guidance.

We also thank our class fellows and friends, who helped us a lot during our project work.
SELF CERTIFICATE

This to be certify that the project report entitled ONLINE


HOTEL MANAGEMENT SYSTEM is done by me is an authentic
work carried out for the partial fulfillment of the
requirements for the award of the diploma of PGDCA
under the guidance of Mr Neeraj Sharma .

KEERTI SINGH

Rama Krishna Group of Institute ,satna(M.P)

SIGNATURE OF STUDENT -------------------------------------

CERTIFICATE OF THE SURVEYED


INSTITUTION
This is to certify that KEERTI SINGH has visited our
office for her project work during the project work. Her
work and behavior was satisfactory.

Date ......

Signature.

Place...................

Name..........

Designation...

Office
Institution..
ONLINE HOTEL MANAGEMENT SYSTEM

Table of Contents

Title of the project.

Introduction and objectives of the Project.

Project category.

Analysis (DFDs, ER Diagrams, Class Diagrams etc.)

A complete structure Which includes :

(i) Number of modules and their description to provide an estimation


of the students effort on the project.

(ii) Data Structures as per the project requirements for all the modules.

(iii) Process Logic of each module.

(iv) Report generation.

Tools / Platform, Hardware and Software Requirement specification

Security and Validation Checks.

Scope of future application.

Conclusions

Bibliography

3
ONLINE HOTEL
MANAGEMENT SYSTEM

4
1.1 INTRODUCTION

This is a Project work undertaken in context of partial fulfillment of pgdca.I have tried my
best to make the complicated process of Online Hotel Management System as simple as
possible using Structured & Modular technique & Menu oriented interface. I have tried to
design the software in such a way that user may not have any difficulty in using this
package & further expansion is possible without much effort. Even though I cannot claim
that this work to be entirely exhaustive, the main purpose of my exercise is perform each
Employees activity in computerized way rather than manually which is time consuming.

I am confident that this software package can be readily used by non-programming


personal avoiding human handled chance of error. This project is used by two types of
users
i. Online Users.
ii. Administrator (management of the Hotel).
Online users can see the required articles or news

Administrator can maintain daily updates in the hotel records. Administrator is must be an
authorized user. He can further change the password. There is the facility for password
recovery, logout etc.
The main aim of the entire activity is to automate the process of day to day
activities of Hotel like Room activities, Admission of a New Customer, Assign a
room according to customers demand, checkout of a computer and releasing the
room and finally compute the bill etc.

The limited time and resources have restricted us to incorporate, in this project,
only a main activities that are performed in a HOTEL Management System, but
utmost care has been taken to make the system efficient and user friendly.
HOTEL Management System has been designed to computerized the following
functions that are performed by the system:

Room Detail Functions


Opening a New Room
Modification to room assigned
Check-in and check-out Detail Functions
Admission of New customer
Check-out of customer
Room assigning related to customers need.

5
Statement of Customer Details
Check-in customer
Check-out customer
Room Details
Total number of Customers in the Hotel
Individual customer Report

6
OBJECTIVE
During the past several decades personnel function has been transformed from a
relatively obscure record keeping staff to central and top level management
function. There are many factors that have influenced this transformation like
technological advances, professionalism, and general recognition of human
beings as most important resources.
A computer based management system is designed to handle all the
primary information required to calculate monthly statements. Separate
database is maintained to handle all the details required for the correct
statement calculation and generation.
This project intends to introduce more user friendliness in the various
activities such as record updation, maintenance, and searching.
The searching of record has been made quite simple as all the details of the
customer can be obtained by simply keying in the identification of that customer.
Similarly, record maintenance and updation can also be accomplished by
using the identification of the customer with all the details being automatically
generated. These details are also being promptly automatically updated in the
master file thus keeping the record absolutely up-to-date.
The entire information has maintained in the database or Files and whoever
wants to retrieve cant retrieve, only authorization user can retrieve the
necessary information which can be easily be accessible from the file.
The main objective of the entire activity is to automate the process of day
to day activities of Hotel like:
1. Room activities,
2. Admission of a New Customer,
3. Assign a room according to customers demand,
4. Checkout of a computer and releasing the room
5. Finally compute the bill etc.
6. Packages available.
7. Advance online bookings.
8. Online Cancellation.
9. List of Regular customers.
10. Email facility.
11. Feedbacks
This project have some more features:

System Connectivity

No data duplication

7
No Paper Work Required

Time Efficient

Cost Efficient

Automatic data validation

User friendly environment

Data security and reliability

Fast data insertion & retrieval

Easy performance check

8
ADVANTAGE:

I have designed the given proposed system in the JSP to automate the process
of Hotels. This project is useful for the authorities which keep track of all the
users registered in a particular state .The authority can add hotel packages, room
details, availability of rooms, online booking etc.

The following steps that give the detailed information of the need of proposed system are:

Performance: During past several decades, the records are supposed to be manually
handled for all activities. The manual handling of the record is time consuming and
highly prone to error. To improve the performance of the Hotel Management System, the
computerized system is to be undertaken. This project is fully computerized and user
friendly even that any of the members can see the report and status of the company.

Efficiency: The basic need of this website is efficiency. The website should be
efficient so that whenever a new user submits his/her details the website is
updated automatically. This record will be useful for other users instantly.

Control: The complete control of the project is under the hands of authorized person
who has the password to access this project and illegal access is not supposed to
deal with. All the control is under the administrator and the other members have the
rights to just see the records not to change any transaction or entry.

Security: Security is the main criteria for the proposed system. Since illegal
access may corrupt the database. So security has to be given in this project.

10
PROJECT CATEGORY

This Project is coupled with material on how to use the various tool, sub sets

available in JSP, SERVLETS AND MY SQL.

The need of todays software development is competence in a GUI based front-end

tool, which can connect to Relational Database engines. This gives the programmer

the opportunity to develop client server based commercial applications.

These applications give users the power and ease of a GUI with the multi user

capabilities of Novell, UNIX or WinNT based RDBMS engines such as MY SQL .

All the important coding techniques used by programmers, in OOPS based

coding is brought out in full and in great detail.

11
System Study & Analysis
PRINCIPLES OF SYSTEM ANALYSIS
1. Understand the problem before you begin to create the analysis model.

2. Develop prototypes that enable a user to understand how human machine


interaction will occur.

3. Record the origin of and the reason for every requirement.

4. Use multiple views of requirements like building data, function and behavioral
models.

5. Work to eliminate ambiguity.

ENTITY RELATIONSHIP DIAGRAM (ERD)

Entity Relationship Diagram: This depicts relationship between data objects.


The attribute of each data objects noted in the entity- relationship diagram can be
described using a data object description. Data flow diagram serves two
purposes:

1. To provide an indication of how data are transformed as they move through

the system.

2. To depict the functions that transformation the data flow.

Data Objects: A data object is a representation of almost any composite


information that must be understood by the software. By composite information,
we mean something that has a number of different properties or attributes. A data
object encapsulates data only there is no reference within a data object to
operations that act on the data.

Attributes: Attributes define the properties of a data object and take on one of
three different characteristics. They can be used to:
Name an instance of data object.
Describe the instance.
Make reference to another instance in other table.

12
Relationships: Data objects are connected to one another in a variety of
different ways. We can define a set of object relationship pairs that define the
relevant relationships.

CARDINALITY AND MODALITY:

Cardinality:
The data model must be capable of representing the number of
occurrences of objects in a given relationship. The cardinality of an
object relationship pair is
One-T0-One (1:1): An occurrence of object A can relate to
one and only one occurrence of object B and vice versa.
One-To-Many (1:N): One occurrence of object A can relate
to one or may occurrences of object B but an occurrence
of object B can relate to only one occurrence of object A.
Many-To-Many (M: N): An occurrences of B and an
occurrence of B can relate to one or many occurrence of
A.
Modality:
The modality of a relationship is zero if there is no explicit need for
the relationship to occur or the relationship is optional. The Modality
is one if the occurrence of the relationship is mandatory.

The object relationship pair can be represented graphically using the


Entity Relationship Diagrams. A set of primary components are
identified for the Entity Relationship Diagram,

1. Attributes,

2. Relationships and

3. Various Type Indicators.

The primary purpose of the Entity Relationship Diagram is to represent


data objects and their relationships.

13
E-R DIAGRAM

Hotel customer

Room Check
information
-in

Room
14

Room
Hotel record

Customer Checkout

Bill
generation
Custom
er

Roo
m

H
ot
el
CONTEXT LEVEL DFD
HOTEL MANAGEMENT SYSTEM

ROOM CUSTOMER

HOTEL
MANAGEMENT
SYSTEM

CUSTOMER PRINT
CHECKOUT DEVICE

15
DATA FLOW DIAGRAM
OPENING A NEW ROOM

1 Generating
new room
CUSTOMER
number

1.1 Display
Form
FILE

Process

1.2 Get
Update Table Details

customer Document

1.3
1.4
Open Room Update

16
DATA FLOW DIAGRAM
CHECK-IN OF A NEW CUSTOMER

1 Assigning
CUSTOMER a new room
number

1.1 Display
Form
FILE

Process

Update Table 1.2 Get


Details

Customer
Details
1.4
Update 1.3
Assigning
a Room

17
DATA FLOW DIAGRAM
RECORD MODIFICATION

1
Read the
USER customer
room number

Scan Record

2
Show the
Details of FILE
Record

Processing
Update

3 Modify
Details
of
Record

18
DATA FLOW DIAGRAM
CHECK-OUT OF CUSTOMER

1 Scan the
customer
CUSTOMER
room number

1.1 Display
Form
FILE

Process
Update Table

Customer
Details
1.4

Update 1.2 Get Details

19
DATA FLOW DIAGRAM
LISTING OF CUSTOMERS
FILE
Scan Record

1 Read the 2 Select 3 Copy


room Record Selected
CUSTOMER
number from Record
Database

Processing

6 Copy
Selected 4
Record Compute
Total

Processing
Output

5 Select
Record

8
7
Generate
Compute Total List
Bill
Final Output
To Screen/Printer

OUTPUT
UNIT
20
DATA FLOW DIAGRAM
GENERATING BILL OF CUSTOMER

FILE

Scan RoomNo

1
MANAGE Read room
number
EMENT

2 Check for
check out of
customer
Update

Processing 4
Close
Database

3
Compute
Bill

Cash

CUSTOMER

21
DATA FLOW DIAGRAM
LIST OF ALL RECORDS
FILE
Scan All Record

1 2 Select
MANAG Read the Record
EMENT Request from File

Processing

3 Copy
Selected
Record

7 Copy
Selected 4
Record Compute
Total

5
Select
Output
Record
Processing

8 Generate
7
Total List
Compute
bill
Final Output

To Screen/Printer

OUTPUT
UNIT

22
4.2 DATA MODELING

Data modeling defines primary data objects, composition of each data object,
and attributes of the object, relationships between each object and other objects
and between objects and the processes.

Password Table
Fields Type
Password CHAR
Username Number

Login Status Table


Fields Type
Password CHAR
Username Number
Login_time CHAR
Login_date CHAR
Logout_time CHAR
Page_access CHAR

Customer Details Table


Fields Type
customerid Autonumber
Name CHAR
Address CHAR
Email CHAR
DOJ Date
Status CHAR
Occupation CHAR
Type_of_occupation Number
Telephone Number

Member Details Table

Fields Type
Memberid Autonumber
Name CHAR
Address CHAR
Email CHAR
DOJ Date
Status CHAR
Occupation CHAR
Type_of_occupation Number
Telephone Number
Membership CHAR

23
Hotel Details Table

Fields Type
Company_name CHAR
H.o CHAR
Address CHAR
Meeting_person CHAR
Phone Number
Email CHAR
Website CHAR
Details CHAR
No_of_employees Number

Booking Details Table

Fields Type
Package CHAR
Bookingdate Date
Mode_of_booking CHAR
From Date
To Date
Requirement_details CHAR
State CHAR
Name_of_customer CHAR
Email CHAR
Phone Number

Room Details Table

Fields Type
Room_No CHAR
Bookingdate Date
Floor
Package
Mode_of_booking CHAR
From Date
To Date
Requirement_details CHAR
State CHAR
Name_of_customer CHAR
Email CHAR
Phone Number

Checkout Details Table

Fields Type
Room_No CHAR
Bookingdate Date
Floor CHAR

24
Package Details Table
Fields Type
Package_name CHAR
Price Number
From Date
To Date
For_Member_price Number
Details CHAR

Function Details
The basic objective of HOTEL MANAGEMENT SYSTEM is to generalize and
simplify the monthly or day to day activities of Hotel like Room activities, Check in
of New Customer, Check out of customer, Assigning a room according to
customer requirement, and finally compute the bill etc. which has to be
performed repeatedly on regular basis. To provide efficient, fast, reliable and
user-friendly system is the basic motto behind this exercise.

Let us now discuss how different functions handle the structure and data files:

1 Password
In this module, this website is for multiple users. If a User enters a password and the
software checks its validity. If the password is valid then option is given to change the
password, otherwise Invalid

User/Password message is displayed. There is an option for password recovery, log out,
login, new users sign in. The Administrator can also update changes in the site after
login.

2 Creating new Entity (Hotel, Room, Customers,Members etc.)


This is used to add a new employee details, delete entity details and view the
details. In that screen, the automatic item is created.
In this function, whenever a new entity is required to be added the corresponding
forms are opened and the database is manipulated to check whether the data is
already existing or not. If it already exists, then it prompts that Entry already
existing and if not than the data is entered with the various validation checks.

27
3.Function NEW_ROOM()

This is the function used to open a new room for


a customer so that he/she can assign a separate
room . In that screen, the automatic room number
is created. After opening a new room for the
customer, finally a room is assigned to a
customer and the room records are appended in
the data file.
4.Function CHECKIN_CUSTOMER()

This function is used to admit a customer in our


Hotel after entering his all personal details like
Name, Address, Phone, Sex and then he/she is
assigned a room from NEW_ROOM() function.
5.Function CHECKOUT_CUSTOMER()

This function is used to checkout the customer


details from database. When the user inputs his
room number, the same room number will be
checked in the database, if the room number is
matched in the database, then the customer will
be check-out from the database and transferred
the record of the checkout to another table of
database so that the Hotel Management has the
record of customers who have check-out to fulfill
his legal liabilities.
6.Function GENERATE_BILL()

When any customer check-out, his/her bill is


generated automatically by calculated check-out
date minus check-in date and getting multiplied it
by daily room charge plus other charges and the
bill has to be saved in the table in the database.
7.Function DISPLAY_RECORD()

This function is used to display all the transaction


including the customer name, address, phone, bed
number, and doctor assigned to him/her in the
screen. This is a global repor to display all the
transaction records in the screen.

8 Validation of Data Entered by the User & Error


Handling
In this function, the validity of data entered by the user
during the various business processes is checked
through various validation checks. For example, there
should not be any characters entered in the numeric
fields, likewise if there is any error occurs than it
should handle that particular error and give the
required messages.

28
10 Searching

In this function, room, customer well as members can search details from the
database according to their authentications.

11: Report Generation


In this function reports are generated for the following entities:

a) Customer Details.
b) Requirements of the Customers
c) Rooms Details
d) Bill Details
e) Checkin Reports
f) Booking Details
g) Online Bookings
h) Checkout Details
i) Membership Details
j) Packages Available.

29
Scope of Future Application

This project can be used in the hotel after adding some more useful modules in
the project for which hotel are providing services.

Utmost care and back-up procedures must be established to ensure 100% successful
implementation of the computerized hotel system. In case of system failure, the
organization should be in a position to process the transaction with another organization
or if the worst comes to the worst, it should be in a position to complete it manually.

Scope of Improvement

Now a days hotel are providing many other facilities, this project can also be
improved with the improvement in the Hotels.

Utmost care and back-up procedures must be established to ensure 100% successful
implementation of the computerized banking system. In case of system failure, the
organization should be in a position to process the transaction with another organization
or if the worst comes to the worst, it should be in a position to complete it manually.

30
CONCLUSION

This project is designed to meet the requirements of Online Hotel Management. It has
been developed in JSP, Servlets keeping in mind the specifications of the system.

For designing the system we have used simple data flow diagrams.

Overall the project teaches us the essential skills like:

Using system analysis and design techniques like data flow diagram in
designing the system.
Understanding the database handling and query processing.

31
Bibliography
JAVA Programming E.Balagurusamyl

JAVA Projects Tony Martin,Dominic


Selly

JAVA Professional Projects Kuljit Kaur,Pooja


Bembey

MY SQL The Complete Reference George Koch

32
// PROJECT ON HOTEL MANAGEMENT

# include <iostream.h>
# include <conio.h>
# include <dos.h>
# include <iomanip.h>
# include <graphics.h>
# include <stdio.h>
# include <string.h>
# include <fstream.h>
# include <stdlib.h>
# include <ctype.h>
# include <process.h>

fstream f,f1,f2,f3,f4,f5,f6,f7,f8;

//*********************************************
*************
// CLASS NAME : Hotel
// DETAILS : IT CONTROLS OVER ALL
FUNCTIONING
// OF THE HOTEL
//*********************************************
*************
class HOTEL
{
char array[100];
struct bill_restaurant_bar
{
long brestaurant,bbar;
} b[100];
struct booking_data
{
long charge,roomno;
char
name[25],address[75],telno[10],date[11],roo
mtype[15];
} d;
struct check_out_data
{
char
name[25],address[75],telno[10],date[11],oda
te[11],otime[6];
int roomno;
} C;
struct cancellation_data
{
char name[25],address[75],telno[10];
} D;
struct member_swimming_pool_data
{
char
name[25],address[75],telno[10],date[11];
int memno;
} ms;
struct member_gym_data
{
char
name[25],address[75],telno[10],date[11];
int memno;
} mg;
public:
void booking();
void check_in();
void check_out();
void cancellation();
void taxi_service();
void restaurant();
void bar();
void swimming_pool();
void gymnasium();
void games();
void view_data();
} H;
//*********************************************
*************
// FUNCTION NAME : BOOKING
//*********************************************
*************

void HOTEL::booking ()
{
textcolor(2);
clrscr();
int c=0;
//FINDING AN UNOCCUPIED ROOM
f.open("ARRAY.DAT",ios::in|ios::binary);
f.read((char *)&array,sizeof(array));
while(array[c]!='e') c++;
array[c]='o';
f.close();
f.open("ARRAY.DAT",ios::out|ios::binary);
f.write((char *)&array,sizeof(array));
f.close();
f1.open("HOT.EL",ios::app|ios::binary);
d.roomno=c+1;
//DATA OF THE CUSTOMER
cout<<"ENTER THE REQUIRED DATA
"
<<"NAME :: ";
gets(d.name);
int l=strlen(d.name);
for(int i=0;i<l;i++)
d.name[i]=toupper(d.name[i]);
cout<<"ADDRESS(R) :: ";
gets(d.address);
cout<<"TEL. NO.(R) :: ";
gets(d.telno);
cout<<"DATE WHEN YOU WILL CHECK-
IN(dd/mm/yyyy) :: ";
gets(d.date);
cout<<"

ROOM TYPES "<<" "


<<"CODES"<<" "<<"CHARGE PER
DAY
"
<<"ROYAL SUITE "<<" "<<"1. "<<"
"<<"Rs 20,000
"
<<"SUPER DELUXE"<<" "<<"2.
"<<" "<<"Rs 15,000
"
<<"DELUXE "<<" "<<"3. "<<"
"<<"Rs 10,000
"
<<"DOUBLE BED "<<" "<<"4. "<<"
"<<"Rs 5,000
"
<<"SINGLE BED "<<" "<<"5. "<<"
"<<"Rs 2,000
";
int roomcode;
REDO:
cout<<"ROOM CODE :: ";
cin>>roomcode;
switch(roomcode)
{
case 1 : strcpy(d.roomtype,"ROYAL
SUITE");
d.charge=20000;
break;
case 2 : strcpy(d.roomtype,"SUPER
DELUXE");
d.charge=15000;
break;
case 3 : strcpy(d.roomtype,"DELUXE");
d.charge=10000;
break;
case 4 : strcpy(d.roomtype,"DOUBLE
BED");
d.charge=5000;
break;
case 5 : strcpy(d.roomtype,"SINGLE
BED");
d.charge=2000;
break;
default: cout<<"ENTER THE RIGHT
CODE
";
goto REDO;
}
clrscr();
cout<<"YOUR ROOM NO. IS ::
"<<d.roomno<<"
";
gotoxy(25,25);
cout<<"PRESS ANY KEY TO CONTINUE";
getch();
//COPYING THE RECORD OF THE
CUSTOMER INTO A FILE
f1.write((char *)&d,sizeof(d));
f1.close();
clrscr();
}
void HOTEL::check_in()
{
textcolor(12);
clrscr();
int rn;
char ans;
cout<<"HAVE YOU BOOKED IN
ADVANCE ?(Y/N)::";
cin>>ans;
if(ans=='n'||ans=='N')
{
cout<<"THEN YOU FIRST HAVE TO
BOOK";
gotoxy(25,25);
cout<<"PRESS ANY KEY TO CONTINUE";
getch();
booking();
}
clrscr();
cout<<"ROOM NUMBER :: ";
cin>>rn;
f1.open("HOT.EL",ios::in|ios::binary);
do f1.read((char *)&d,sizeof(d));
while(d.roomno!=rn);
cout<<"NAME :: "<<d.name<<"
"
<<"ADDRESS(R) ::
"<<d.address<<"
"
<<"TEL. NO.(R) :: "<<d.telno<<"
"
<<"CHECK-IN DATE :: "<<d.date<<"
"
<<"ROOM TYPE :: "<<d.roomtype;
gotoxy(25,25);
cout<<"PRESS ANY KEY TO CONTINUE";
getch();
f1.close();
clrscr();
}
void HOTEL::check_out()
{
textcolor(10);
clrscr();
int rn;
cout<<"ROOM NUMBER :: ";
cin>>rn;
char od[11],ot[6];
cout<<"CHECK-OUT DATE
(dd/mm/yyyy) :: ";
gets(od);
cout<<"CHECK-OUT TIME (in form of
07:30 , 22:55 etc) :: ";
gets(ot);
textcolor(6);
clrscr();
fstream e;
f1.open("HOT.EL",ios::in|ios::binary);
do{ f1.read((char *)&d,sizeof(d)); }
while(d.roomno!=rn);
gotoxy(25,1); cout<<"**** BILL ****

";
cout<<endl;
cout<<" ROOM NUMBER ::
"<<d.roomno<<"
"
<<" NAME ::
"<<d.name<<"
"
<<" ADDRESS(R) ::
"<<d.address<<"
"
<<" TEL. NO.(R) ::
"<<d.telno<<"
"
<<" ROOM TYPE ::
"<<d.roomtype<<"
"
<<" CHECK-IN DATE ::
"<<d.date<<"
"
<<" CHECK-OUT DATE ::
"<<od<<"
"
<<" CHECK-OUT TIME ::
"<<ot<<"
";
//COPYING THE RECORD OF THE
CUSTOMER INTO ANOTHER FILE
f2.open("C.OUT",ios::app|ios::binary);
strcpy(C.name,d.name);
strcpy(C.address,d.address);
strcpy(C.telno,d.telno);
strcpy(C.date,d.date);
strcpy(C.odate,od);
strcpy(C.otime,ot);
C.roomno=d.roomno;
f2.write((char *)&C,sizeof(C));
f2.close();
//CALCULATING NO. OF DAYS THE
CUSTOMER OCCUPIED THE ROOM
//AND PRINTING THE TARIFF
long tariff;
int dd1,dd2,mm1,mm2,yy1,yy2,p,q,r;
dd1=(d.date[0]-48)*10+(d.date[1]-48);
dd2=(od[0]-48)*10+(od[1]-48);
mm1=(d.date[3]-48)*10+(d.date[4]-48);
mm2=(od[3]-48)*10+(od[4]-48);
yy1=(d.date[6]-48)*1000+(d.date[7]-
48)*100+(d.date[8]-48)*10+(d.date[9]-48);
yy2=(od[6]-48)*1000+(od[7]-48)*100+
(od[8]-48)*10+(od[9]-48);
if(yy1%4==0) { p=29; q=28; }
else if(yy2%4==0) { p=28; q=29; }
else { p=28; q=28; }
int
cy[12]={ 31,p,31,30,31,30,31,31,30,31,30,31
};
int
ny[12]={ 31,q,31,30,31,30,31,31,30,31,30,31
};
if(yy1==yy2 && mm1==mm2 &&
dd1==dd2) tariff=d.charge;
else
{
if(yy1==yy2)
{
if(mm1==mm2) tariff=d.charge*(dd2-
dd1);
else
{
r=cy[mm1-1]-dd1+dd2;
for(int l=mm1;l<mm2-1;l++)
r+=cy[l];
tariff=d.charge*r;
}
}
else
{
r=cy[mm1-1]-dd1+dd2;
for(int l=mm1;l<12;l++) r+=cy[l];
for(l=0;l<mm2-1;l++) r+=ny[l];
tariff=d.charge*r;
}
}
int c1,c2;
c1=(ot[0]-48)*10+(ot[1]-48);
c2=(ot[3]-48)*10+(ot[4]-48);
if(yy1==yy2 && mm1==mm2 &&
dd1==dd2);
else if(c1>12) tariff+=d.charge;
else if(c1==12 && c2>0)
tariff+=d.charge;
cout<<" TARIFF :: Rs
"<<tariff<<'
';
f1.close();
//SHOWING THE CUSTOMER'S
RESTAURANT AND BAR BILL
f8.open("BILL.DAT",ios::in|ios::binary);
f8.read((char *)&b,sizeof(b));
cout<<" RESTAURANT CHARGE :: Rs
"<<b[rn-1].brestaurant<<'
'
<<" BAR CHARGE :: Rs
"<<b[rn-1].bbar<<'
'
<<" TOTAL :: Rs
"<<b[rn-1].brestaurant+b[rn-1].bbar+tariff;
b[rn-1].bbar=b[rn-1].brestaurant=0;
f8.close();
f8.open("BILL.DAT",ios::out|ios::binary);
f8.write((char *)&b,sizeof(b));
f8.close();
//DELETING THE RECORD OF THE
CUSTOMER
f1.open("HOT.EL",ios::in|ios::binary);
e.open("F.DAT",ios::out|ios::binary);
f1.read((char *)&d,sizeof(d));
while(f1)
{
if(d.roomno!=rn)
{
e.write((char *)&d,sizeof(d));
f1.read((char *)&d,sizeof(d));
}
else f1.read((char *)&d,sizeof(d));
}
e.close();
f1.close();
f1.open("HOT.EL",ios::out|ios::binary);
e.open("F.DAT",ios::in|ios::binary);
e.read((char *)&d,sizeof(d));
while(e)
{
f1.write((char *)&d,sizeof(d));
e.read((char *)&d,sizeof(d));
}
e.close();
f1.close();
//MAKING THE ROOM OCCUPIED BY THE
CUSTOMER AS UNOCCUPIED
f.open("ARRAY.DAT",ios::in|ios::binary);
f.read((char *)&array,sizeof(array));
array[rn-1]='e';
f.close();
f.open("ARRAY.DAT",ios::out|ios::binary);
f.write((char *)&array,sizeof(array));
f.close();
gotoxy(25,25);
cout<<"PRESS ANY KEY TO CONTINUE";
getch();
clrscr();
}
void HOTEL::cancellation()
{
textcolor(1);
clrscr();
int rn;
cout<<"ROOM NUMBER :: ";
cin>>rn;
f1.open("HOT.EL",ios::in|ios::binary);

do f1.read((char*)&d,sizeof(d));
while(d.roomno!=rn);
cout<<"NAME :: "<<d.name<<"
"
<<"ADDRESS(R) :: "<<d.address<<"
"
<<"TEL. NO.(R) :: "<<d.telno<<"
"
<<"ROOM TYPE ::
"<<d.roomtype<<"
"
<<"CANCELLED
";
//COPYING THE RECORD OF THE
CUSTOMER INTO ANOTHER FILE
f3.open("CAN.CEL",ios::app|ios::binary);
strcpy(D.name,d.name);
strcpy(D.address,d.address);
strcpy(D.telno,d.telno);
f3.write((char *)&D,sizeof(D));
f3.close();
f1.close();
//MAKING THE ROOM ALLOTED TO THE
CUSTOMER AS EMPTY
f.open("ARRAY.DAT",ios::in|ios::binary);
f.read((char *)&array,sizeof(array));
array[rn-1]='e';
f.close();
f.open("ARRAY.DAT",ios::out|ios::binary);
f.write((char *)&array,sizeof(array));
f.close();
fstream e;
//DELETING THE RECORD OF THE
CUSTOMER
f1.open("HOT.EL",ios::in|ios::binary);
e.open("F1.DAT",ios::out|ios::binary);
f1.read((char *)&d,sizeof(d));
while(f1)
{
if(d.roomno!=rn)
{
e.write((char *)&d,sizeof(d));
f1.read((char *)&d,sizeof(d));
}
else f1.read((char *)&d,sizeof(d));
}
e.close();
f1.close();
f1.open("HOT.EL",ios::out|ios::binary);
e.open("F1.DAT",ios::in|ios::binary);
e.read((char *)&d,sizeof(d));
while(e)
{
f1.write((char *)&d,sizeof(d));
e.read((char *)&d,sizeof(d));
}
e.close();
f1.close();
gotoxy(25,25);
cout<<"PRESS ANY KEY TO CONTINUE";
getch();
clrscr();
}
void HOTEL::taxi_service()
{
int gd=DETECT,gm,choice;
initgraph(&gd,&gm,"c:\tc\bgi");
settextstyle(10,0,1);
int x=40,y=10;
setcolor(BROWN);
outtextxy(50,20,"I am staying in this
hotel");
outtextxy(x,y,".");
setcolor(CYAN);
outtextxy(50,60,"I am not staying in this
hotel");
char W;
int count=0;
do
{
count++;
W=getch();
}
}

Você também pode gostar