VIRENDRA PUBLIC SCHOOL 70, TIMARPUR ROAD, DELHI-54
SUBMITTED BYCLASS ROLL NO SUBJECT
Aayush Kumar XIIth B Computer Science
PROJECT ON HOTEL MANAGEMENT SYSTEM
TABLE OF CONTENTS Certificate Acknowledgement Introduction Header Files And Their Purpose Coding Output
1
PROJECT ON HOTEL MANAGEMENT SYSTEM
CERTIFICATE This is to certify that this project report entitled “HOTEL MANAGEMENT SYSTEM IN C++ LANGUAGE” Submitted to VIRENDRA PUBLIC SCHOOL is a bonafide record of work done by “Aayush Kumar” under the supervision of “MRS. Amrita Dass”.
2
PROJECT ON HOTEL MANAGEMENT SYSTEM
ACKNOWLEDGEMENT In the accomplishment of this project successfully, many people have best owned upon me their blessings and the heart pledged upon, this time I am utilising to thank all the people who have been concerned with project. Primarily I would thank god for being able to complete this project with success. Then I would like to thank my principal Mrs. Rama Malhotra and computer teacher Mrs. Amrita, whose valuable guidance has been the ones that helped me patch this project and make it full proof success her suggestions and her instructions has served as a major contributor towards the completion of the project. 3
PROJECT ON HOTEL MANAGEMENT SYSTEM
Then I would like to thank my family and my friends who have helped me with their valuable suggestions and guidance has been helpful in various phases of completion of project. Last but not the least I would like to thank my classmates who have helped me a lot.
4
PROJECT ON HOTEL MANAGEMENT SYSTEM
INTRODUCTION A hotel is an establishment that provides lodging paid on a short-term basis. Facilities provided may range from a basic bed and storage for clothing, to luxury features like en-suite bathrooms. Larger hotels may provide additional guest facilities such as a swimming pool, business center, childcare, conference facilities and social function services. Hotel rooms are usually numbered (or named in some smaller hotels and B&BS) to allow guests to identify their room. Some hotels offer meals as part of a room and board arrangement. In the United Kingdom, a hotel is required by law to serve food and drinks to all guests within certain stated hours. In Japan, capsule hotels provide a 5
PROJECT ON HOTEL MANAGEMENT SYSTEM
minimized amount of room space and shared facilities.
6
PROJECT ON HOTEL MANAGEMENT SYSTEM
HEADER FILES USED
#include
#include
#include<dos.h> #include<string.h> #include<process.h> #include<stdlib.h> #include<stdio.h> #include
7
PROJECT ON HOTEL MANAGEMENT SYSTEM
CODING #include
#include
#include<dos.h> #include<string.h> #include<process.h> #include<stdlib.h> #include<stdio.h> #include
class menu { private : void edit_menu(void) ; void report_menu(void) ; void room_edit_menu(void) ; void customer_edit_menu(void) ; public : void intro(void) ; void main_menu(void) ; void enter_(void) ; 8
PROJECT ON HOTEL MANAGEMENT SYSTEM }; class room { private : int recordno(int) ; void display_record(int) ; int roomno ; char roomcode[5] , status ; float tariff ; public : void add (void) ; void modify(void) ; void deletion(void) ; void display_room_record(void) ; void display_list(void) ; int room_found( int ) ; void change_status(int,char) ; char room_status(int) ; float get_data(int) ; }; class customer { private : 9
PROJECT ON HOTEL MANAGEMENT SYSTEM int recordno(int) ; void display_record(int) ; void delete_record(int) ; int roomno ; char name[21] , phone[8] ; float advance , misc , room_srv ; public : void checkin (void) ; void checkout (void) ; void modify(void) ; void deletion(void) ; void display_list(void) ; void display_customer_record(void) ; }; class { public : void prepare_bill(int, float, char t_name[21], float, float, float) ; }; void menu :: intro ( void ) { clrscr() ; gotoxy(30,3) ; 10
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"Welcome to Project" ; gotoxy(30,5) ; cout<<" Hotel Management " ; gotoxy(30,6) ; cout<<" ===== ========== " ; gotoxy(15,8) ; cout<<"This project has the facility of maintaining " ; gotoxy(15,9) ; cout<<"records of ROOMS and CUSTOMERS." ; gotoxy(15,11) ; cout<<"This project can hold more than 10,000 room" ; gotoxy(15,12) ; cout<<"records at a time." ; gotoxy(15,14) ; cout<<"This project is very easy to work on and has self" ; gotoxy(15,15) ; cout<<"explanatory menus." ; gotoxy(15,17) ; cout<<"For the security reasons a facility is " ; gotoxy(15,18) ; cout<<"also provided in this project." ; cout<<"\t" ; gotoxy(40,20) ; 11
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"By Aayush Kumar"; gotoxy(20,23) ; cout<<"Press any key to continue..." ; getch() ; main_menu(); } void menu :: enter_() { clrscr() ; char 1, 2, 3 ; gotoxy(30,12) ; cout<<"Enter the : " ; 1=getch() ; cout<<"*" ; 2=getch() ; cout<<"*" ; 3=getch() ; cout<<"*" ; getch(); if (1 == 'r' && 2 == 'd' && 3 == 'x') { return ; } 12
PROJECT ON HOTEL MANAGEMENT SYSTEM clrscr(); gotoxy(30,12) ; cout<<" WRONG " ; gotoxy(2,1) ; getch() ; exit(0) ; } void menu :: main_menu(void) { char ch ; clrscr(); gotoxy(14,2); cout<<"*********** M .+. A .+. I .+. N - M .+. E .+. N .+. U ***********"; gotoxy(30,5) ; cout<<"1. INTRODUCTION" ; gotoxy(30,7) ; cout<<"2. CHECK IN" ; gotoxy(30,9) ; cout<<"3. CHECK OUT" ; gotoxy(30,11) ; cout<<"4. CUSTOMER RECORD" ; gotoxy(30,13) ; cout<<"5. ROOM RECORD" ; 13
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(30,15) ; cout<<"6. EDIT" ; gotoxy(30,17) ; cout<<"7. REPORT" ; gotoxy(30,19) ; cout<<"8. EXIT TO DOS" ; gotoxy(55,25) ; cout<<" Aayush Kumar " ; gotoxy(30,21) ; cout<<"Enter your choice : " ; cin>>ch; getch(); if ( ch == '1' ) intro() ; else if ( ch == '2' ) { customer c ; c.checkin() ; } else if ( ch == '3' ) { 14
PROJECT ON HOTEL MANAGEMENT SYSTEM customer c ; c.checkout() ; } if ( ch == '4' ) { customer c ; c.display_customer_record() ; } else if ( ch == '5' ) { room r ; r.display_room_record() ; } else if ( ch == '6' ) edit_menu() ; else if ( ch == '7' ) report_menu() ; else if ( ch == '8' ) { 15
PROJECT ON HOTEL MANAGEMENT SYSTEM clrscr(); gotoxy(26,10); cout<<" THANK U FOR USING OUR PROJECT "; getch(); gotoxy(32,12); cout<<" HAVE A NICE DAY " ; getch(); exit(0); } } void menu :: edit_menu(void) { char ch; while(1) { clrscr() ; gotoxy(34,4) ; cout<<"
EDIT" ;
gotoxy(30,8) ; cout<<"1. ROOM RECORDS" ; gotoxy(30,10) ; cout<<"2. CUSTOMER RECORDS" ; gotoxy(30,12) ; 16
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"3. BACK" ; gotoxy(30,15) ; cout<<"Enter your choice : " ; cin>>ch; getch() ; if ( ch == '1' ) room_edit_menu() ; else if ( ch == '2' ) customer_edit_menu() ; else if ( ch == '3' ) main_menu(); } } void menu :: room_edit_menu(void) { char ch ; while(1) { clrscr() ; gotoxy(34,4); cout<<"EDIT ROOM"; 17
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(30,8) ; cout<<"1. ADD ROOM RECORDS" ; gotoxy(30,10) ; cout<<"2. MODIFY ROOM RECORDS" ; gotoxy(30,12) ; cout<<"3. DELETE ROOM RECORDS" ; gotoxy(30,14) ; cout<<"4. BACK" ; gotoxy(30,17) ; cout<<"Enter your choice : " ; cin>>ch; getch() ; if ( ch == '1' ) { room r ; r.add() ; } else if ( ch == '2' ) { room r ; r. modify() ; } 18
PROJECT ON HOTEL MANAGEMENT SYSTEM else if ( ch == '3' ) { room r ; r.deletion() ; } else if ( ch == '4' ) break ; } } void menu :: customer_edit_menu(void) { char ch ; while(1) { clrscr() ; gotoxy(34,4); cout<<"EDIT CUSTOMER"; gotoxy(30,8) ; cout<<"1. MODIFY CUSTOMER RECORDS" ; gotoxy(30,10) ; cout<<"2. DELETE CUSTOMER RECORDS" ; 19
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(30,12) ; cout<<"3. BACK" ; gotoxy(30,15) ; cout<<"Enter your choice : " ; cin>>ch; getch() ; if ( ch == '1' ) { customer c ; c.modify() ; } else if ( ch == '2' ) { customer c ; c.deletion() ; } else if ( ch == '3' ) break ; } } void menu :: report_menu(void) 20
PROJECT ON HOTEL MANAGEMENT SYSTEM { char ch ; while(1) { clrscr() ; gotoxy(34,4); cout<<"REPORT"; gotoxy(30,8) ; cout<<"1. LIST OF ROOMS" ; gotoxy(30,10) ; cout<<"2. LIST OF CUSTOMERS" ; gotoxy(30,12) ; cout<<"3. BACK" ; gotoxy(30,15) ; cout<<"Enter your choice : " ; cin>>ch; getch() ; if ( ch == '1' ) { room r ; r.display_list() ; } else 21
PROJECT ON HOTEL MANAGEMENT SYSTEM if ( ch == '2' ) { customer c ; c.display_list() ; } else if ( ch == '3' ) { main_menu(); break ; } } } int room :: room_found ( int t_roomno ) { fstream file ; file.open("ROOM.DAT", ios::in) ; file.seekg(0) ; int found = 0 ; while (file.read((char *) this, sizeof(room))) { if ( roomno == t_roomno ) found = 1 ; 22
PROJECT ON HOTEL MANAGEMENT SYSTEM } file.close() ; return found ; } void room :: display_list (void) { clrscr() ; fstream file ; file.open("ROOM.DAT", ios::in) ; file.seekg(0) ; int row = 5 , found = 0 , pageno = 1 ; gotoxy(18,1) ; cout<<"LIST OF ROOMS" ; gotoxy(1,3) ; cout<<" Room code
Room no.
Status
Tariff " ;
while (file.read((char *) this, sizeof(room))) { delay(50) ; found = 1 ; gotoxy(2,row) ; cout<
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(29,row) ; cout <<status ; gotoxy(42,row) ; cout <
Room no.
Status
Tariff " ;
} else row++ ; } if ( !found ) 24
PROJECT ON HOTEL MANAGEMENT SYSTEM { gotoxy(1,5) ; cout<<"Records not found" ; } gotoxy(66,1) ; cout<<"Page no. : " <<pageno ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; file.close () ; } int room :: recordno(int t_roomno) { fstream file ; file.open("ROOM.DAT", ios::in) ; file.seekg(0) ; int count = 0 ; while (file.read((char *) this, sizeof(room))) { count++ ; if (t_roomno == roomno) break ; } 25
PROJECT ON HOTEL MANAGEMENT SYSTEM file.close() ; return count ; } void room :: display_record(int t_roomno) { fstream file ; file.open("ROOM.DAT", ios::in) ; file.seekg(0) ; int found = 0 ; while (file.read((char *) this, sizeof(room)) && !found) { if (t_roomno == roomno) { found = 1 ; gotoxy(1,5) ; cout<<"Room code : " <
PROJECT ON HOTEL MANAGEMENT SYSTEM } file.close () ; } void room :: display_room_record(void) { clrscr() ; menu m; int valid ; int t_roomno ; gotoxy(1,3) ; cout<<"Enter the Room no. : " ; cin>>t_roomno ; if (!room_found(t_roomno)) { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; m.main_menu(); } clrscr() ; 27
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(5,3) ; cout<<"ROOM RECORD" ; display_record(t_roomno) ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; m.main_menu(); } void room :: change_status(int t_roomno , char t_status) { int recno ; recno = recordno(t_roomno) ; fstream file ; file.open("ROOM.DAT", ios::out | ios::ate) ; int location ; location = (recno-1) * sizeof(room) ; file.seekp(location) ; status = t_status ; file.write((char *) this, sizeof(room)) ; file.close () ; } char room :: room_status(int t_roomno) { 28
PROJECT ON HOTEL MANAGEMENT SYSTEM fstream file ; file.open("ROOM.DAT", ios::in) ; file.seekg(0) ; int found = 0 ; char t_status ; while (file.read((char *) this, sizeof(room)) && !found) { if (t_roomno == roomno) { found = 1 ; t_status = status ; } } file.close () ; return t_status ; } float room :: get_data(int t_roomno) { fstream file ; file.open("ROOM.DAT", ios::in) ; file.seekg(0) ; float t_tariff ; while (file.read((char *) this, sizeof(room))) 29
PROJECT ON HOTEL MANAGEMENT SYSTEM { if (t_roomno == roomno) { t_tariff = tariff ; break ; } } file.close() ; return t_tariff ; } void room :: add (void) { char ch ; char t_rcode[5] ; int t_roomno ; char t_status ; float t_tariff ; do { fstream file ; file.open("ROOM.DAT", ios::out | ios::app ) ; clrscr() ; gotoxy(1,1) ; 30
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"Enter the details for the room" ; gotoxy(1,3) ; cout<<"Code
: ";
gotoxy(1,4) ; cout<<"Room no. : " ; gotoxy(1,5) ; cout<<"Status : " ; gotoxy(1,6) ; cout<<"Tariff : " ; gotoxy(20,11) ; cout<<"SS : SINGLE SUIT" ; gotoxy(20,12) ; cout<<"SR : SINGLE ROOM" ; gotoxy(20,13) ; cout<<"DR : DOUBLE ROOM" ; gotoxy(20,14) ; cout<<"DS : DOUBLE SUIT" ; int valid = 0 ; do { valid = 1 ; gotoxy(1,25) ; cout<<"ENTER THE ROOM CODE (SS/SR/DR/DS)" ; 31
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(13,3) ; cin>>t_rcode ; strupr(t_rcode) ; char *string[4] = {"SS","DR","SR","DS"} ; int result , count = 0 ; for ( int i=0; i<4; i++ ) { result = strcmpi(t_rcode,string[i]) ; if ( result != 0 ) count++ ; } if ( count == 4 ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"INVALID CODE" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,3) ; clreol() ; 32
PROJECT ON HOTEL MANAGEMENT SYSTEM } } while ( valid == 0 ) ; for ( int i=11; i<=14; i++ ) { gotoxy(1,i) ; clreol() ; } do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE ROOM NUMBER" ; gotoxy(13,4) ; cin>>t_roomno ; getch(); if ( t_roomno <= 0 || t_roomno > 900 ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"IT SHOULD NOT BE NEGATIVE OR ZERO OR GREATER THAN 900" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; 33
PROJECT ON HOTEL MANAGEMENT SYSTEM getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,4) ; clreol() ; } if ( room_found( t_roomno ) ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. ALREADY EXIST" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,4) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; 34
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; cout<<"ENTER THE ROOM STATUS : V=vacant, O=occupied" ; gotoxy(13,5) ; cin>>t_status ; t_status = toupper(t_status) ; if (t_status != 'O' && t_status != 'V') { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"INVALID DATA ENTERED" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,5) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; 35
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; cout<<"ENTER THE TARIFF FOR THE ROOM" ; gotoxy(13,6) ; cin>>t_tariff ; getch(); if ( t_tariff <= 0 ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"IT SHOULD NOT BE NEGATIVE OR ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,6) ; clreol() ; } } while ( !valid ) ; gotoxy(1,8) ; cout<<"Do you want to save the record (y/n) : " ; do { 36
PROJECT ON HOTEL MANAGEMENT SYSTEM valid = 1 ; gotoxy(42,8) ; cin>>ch; getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,8) ; clreol() ; } } while ( !valid ) ; if (ch == 'Y') { stry(roomcode,t_rcode) ; roomno = t_roomno ; status = t_status ; tariff = t_tariff ; file.write((char *) this, sizeof(room)) ; } gotoxy(1,9) ; cout<<"Do you want to add more records (y/n) : " ; do { 37
PROJECT ON HOTEL MANAGEMENT SYSTEM valid = 1 ; gotoxy(42,9) ; cin>>ch; getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,9) ; clreol() ; } } while ( !valid ) ; file.close () ; } while ( ch == 'Y') ; } void room :: modify(void) { clrscr() ; int valid ; char ch ; char t_rcode[5] ; int t_roomno , tr ; char t_status ; float t_tariff ; 38
PROJECT ON HOTEL MANAGEMENT SYSTEM fstream file ; file.open("ROOM.DAT", ios::out | ios::ate) ; gotoxy(1,3) ; cout<<"Enter the Room no. to be modified " ; cin>>tr ; getch(); if ( !room_found( tr ) ) { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; return ; } display_record(tr) ; gotoxy(1,10) ; cout<<"Do you want to modify this Room Record (y/n) : " ; do { valid = 1 ; gotoxy(48,10) ; 39
PROJECT ON HOTEL MANAGEMENT SYSTEM cin>>ch; getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,9) ; clreol() ; } } while ( !valid ) ; if (ch == 'N') return ; gotoxy(1,12) ; cout<<"ENTER THE NEW DATA FOR THE ROOM" ; gotoxy(1,14) ; cout<<"Code
: ";
gotoxy(1,15) ; cout<<"Room no. : " ; gotoxy(1,16) ; cout<<"Status : " ; gotoxy(1,17) ; cout<<"Tariff : " ; do { 40
PROJECT ON HOTEL MANAGEMENT SYSTEM valid = 1 ; gotoxy(1,25) ; cout<<"ENTER THE ROOM CODE (SS/SR/DR/DS)" ; gotoxy(13,14) ; cin>>t_rcode ; getch(); strupr(t_rcode) ; char *string[4] = {"SS","DR","SR","DS"} ; int result , count = 0 ; for ( int i=0; i<4; i++ ) { result = strcmpi(t_rcode,string[i]) ; if ( result != 0 ) count++ ; } if ( count == 4 ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"INVALID CODE" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; 41
PROJECT ON HOTEL MANAGEMENT SYSTEM getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,14) ; clreol() ; } } while ( valid == 0 ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE ROOM NUMBER" ; gotoxy(13,15) ; cin>>t_roomno ; getch(); if ( t_roomno <= 0 || t_roomno > 900 ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"IT SHOULD NOT BE NEGATIVE OR ZERO OR GREATER THAN 900" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; 42
PROJECT ON HOTEL MANAGEMENT SYSTEM getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,15) ; clreol() ; } if ( room_found( t_roomno ) && t_roomno != tr ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. ALREADY EXIST" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,15) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; 43
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; cout<<"ENTER THE ROOM STATUS : V=vacant, O=occupied" ; gotoxy(13,16) ; cin>>t_status ; getch(); t_status = toupper(t_status) ; if (t_status != 'O' && t_status != 'V') { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"INVALID DATA ENTERED" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,16) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; 44
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE TARIFF FOR THE ROOM" ; gotoxy(13,17) ; cin>>t_tariff ; getch(); if ( t_tariff <= 0 ) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"IT SHOULD NOT BE NEGATIVE OR ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(13,17) ; clreol() ; } } while ( !valid ) ; gotoxy(1,19) ; cout<<"Do you want to save the record (y/n) : " ; do 45
PROJECT ON HOTEL MANAGEMENT SYSTEM { valid = 1 ; gotoxy(42,19) ; ch = getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,19) ; clreol() ; } } while ( !valid ) ; if (ch == 'Y') { int recno ; recno = recordno(tr) ; int location ; location = (recno-1) * sizeof(room) ; file.seekp(location) ; stry(roomcode,t_rcode) ; roomno = t_roomno ; status = t_status ; tariff = t_tariff ; file.write((char *) this, sizeof(room)) ; 46
PROJECT ON HOTEL MANAGEMENT SYSTEM } file.close () ; } void room :: deletion(void) { clrscr() ; int valid ; char ch ; int t_roomno ; gotoxy(1,3) ; cout<<"Enter the Room no. to be deleted " ; cin>>t_roomno ; if ( !room_found( t_roomno ) ) { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; return ; } display_record(t_roomno) ; 47
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,10) ; cout<<"Do you want to delete this Room Record (y/n) : " ; do { valid = 1 ; gotoxy(48,10) ; cin>>ch ; getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,9) ; clreol() ; } } while ( !valid ) ; if (ch == 'N') return ; fstream file ; file.open("ROOM.DAT", ios::in) ; fstream temp ; temp.open("temp.dat", ios::out) ; while ( !file.eof() ) { 48
PROJECT ON HOTEL MANAGEMENT SYSTEM file.read((char *) this, sizeof(room)) ; if ( file.eof() ) break ; if ( roomno != t_roomno ) temp.write((char *) this, sizeof(room)) ; } file.close() ; temp.close() ; file.open("ROOM.DAT", ios::out) ; temp.open("temp.dat", ios::in) ; temp.seekg(0) ; while ( !temp.eof() ) { temp.read((char *) this, sizeof(room)) ; if ( temp.eof() ) break ; file.write((char *) this, sizeof(room)) ; } file.close() ; temp.close() ; } void customer :: display_list(void) { 49
PROJECT ON HOTEL MANAGEMENT SYSTEM clrscr() ; fstream file ; file.open("CUSTOMER.DAT", ios::in) ; file.seekg(0) ; int row = 5 ; int found = 0 ; int pageno = 1 ; int total = 0 ; gotoxy(18,1) ; cout<<"LIST OF CUSTOMERS" ; gotoxy(1,3) ; cout<<" Room no. Name
Phone
Room service Advance Misc." ;
while (file.read((char *) this, sizeof(customer))) { total++ ; found = 1 ; gotoxy(2,row) ; cout<
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(47,row) ; cout<
Phone
Room service Advance Misc." ;
} else row++ ; 51
PROJECT ON HOTEL MANAGEMENT SYSTEM } if ( found==0 ) { gotoxy(1,5) ; cout<<"Records not found" ; } gotoxy(66,1) ; cout<<"Page no. : " <<pageno ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; clrscr() ; gotoxy(5,5) ; cout<<"Total no. of Customers = " <
PROJECT ON HOTEL MANAGEMENT SYSTEM char ch ; int valid = 1 ; int t_roomno , t_no_cust ; char t_name[21] , t_address[35] , t_phone[8] , t_nation[16] , t_port[30] ; float t_advance , t_misc , t_room_srv ; clrscr() ; gotoxy(1,1) ; cout<<"Enter the details of the Customer" ; gotoxy(1,3) ; cout<<"Room no.
:";
gotoxy(1,4) ; cout<<"Name
:";
gotoxy(1,5) ; cout<<"No. of guests : " ; gotoxy(1,6) ; cout<<"Address
:";
gotoxy(1,7) ; cout<<"Phone
:";
gotoxy(1,8) ; cout<<"Nationality
:";
gotoxy(1,9) ; cout<<"port no.
:";
gotoxy(1,11) ; 53
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"Advance
:";
gotoxy(1,12) ; cout<<"Miscellineous : " ; gotoxy(1,13) ; cout<<"Room service
:";
gotoxy(20,3) ; cin rel="nofollow">>t_roomno ; char t_status ; t_status = r.room_status(t_roomno) ; if (!r.room_found(t_roomno) || t_status == 'O') { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND OR NOT VACANT" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; m1.main_menu() ; } do { valid = 1 ; gotoxy(1,25) ; clreol() ; 54
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; cout<<"ENTER THE NAME OF THE CUSTOMER" ; gotoxy(20,4) ; gets(t_name) ; strupr(t_name) ; fflush(stdin) ; if ((strlen(t_name) <= 0) || (strlen(t_name) > 20)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT BE ZERO OR GREATER THAN 20" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,4) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; 55
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE NO. OF GUESTS WITH THE CUSTOMER" ; gotoxy(20,5) ; cin>>t_no_cust ; if ((t_no_cust < 0) || (t_no_cust > 4)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"GUESTS SHOULD NOT BE LESS THAN 0 OR GREATER THAN 4" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,5) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; 56
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; cout<<"ENTER THE ADDRESS OF THE CUSTOMER" ; gotoxy(20,6) ; gets(t_address) ; fflush(stdin) ; if ((strlen(t_address) <= 0) || (strlen(t_address) > 50)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT BE ZERO OR GREATER THAN 50" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,6) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; 57
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; cout<<"ENTER THE PHONE NO. OF THE CUSTOMER, ENTER '-' FOR NO PHONE NO." ; gotoxy(20,7) ; cin>>t_phone ; if ((strlen(t_phone) < 8 && strlen(t_phone) > 1) || (strlen(t_phone) > 8)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT LESS THAN 8 OR GREATER THAN 8" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,7) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; 58
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"ENTER NATIONALITY OF THE CUSTOMER" ; gotoxy(20,8) ; gets(t_nation) ; fflush(stdin) ; if ((strlen(t_nation) <= 0) || (strlen(t_nation) > 15)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT LESS THAN ZERO OR GREATER THAN 15" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,8) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; 59
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"ENTER PORT NO. OF THE CUSTOMER" ; gotoxy(20,9) ; gets(t_port) ; fflush(stdin) ; if ((strlen(t_port) <= 0) || (strlen(t_port) > 15)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT LESS THAN ZERO OR GREATER THAN 15" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,9) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; 60
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"ENTER THE ADVANCE IN RS. " ; gotoxy(20,11) ; cin>>t_advance ; if (t_advance < 0) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,11) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE MISCELLENIOUS CHARGES" ; 61
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(20,12) ; cin>>t_misc ; if (t_misc < 0) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,12) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE ROOM SERVICE CHARGES" ; gotoxy(20,13) ; 62
PROJECT ON HOTEL MANAGEMENT SYSTEM cin>>t_room_srv ; getch(); if (t_room_srv < 0) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,13) ; clreol() ; } } while ( !valid ) ; gotoxy(1,15) ; cout<<"Do you want to save the record (y/n) : " ; do { valid = 1 ; gotoxy(42,15) ; cin>>ch; 63
PROJECT ON HOTEL MANAGEMENT SYSTEM getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,15) ; clreol() ; } } while ( !valid ) ; if (ch == 'Y') { r.change_status(t_roomno,'O') ; roomno = t_roomno ; stry(name,t_name) ; stry(phone,t_phone) ; advance = t_advance ; misc = t_misc ; room_srv = t_room_srv ; fstream file ; file.open("CUSTOMER.DAT", ios::out | ios::app ) ; file.write((char*) this, sizeof(customer)) ; file.close() ; } m1.main_menu() ; 64
PROJECT ON HOTEL MANAGEMENT SYSTEM } void customer :: display_record(int t_roomno) { fstream file ; file.open("CUSTOMER.DAT", ios::in) ; file.seekg(0) ; int found = 0 ; while (file.read((char *) this, sizeof(customer)) && !found) { if (t_roomno == roomno) { found = 1 ; gotoxy(1,5) ; cout<<"Room no.
: " <
gotoxy(1,6) ; cout<<"Customer Name
: " <
gotoxy(1,7) ; cout<<"Phone no.
: " <
gotoxy(1,8) ; cout<<"Advance
: " <
gotoxy(1,9) ; cout<<"Misc. charges
: " <<misc ;
gotoxy(1,10) ; 65
PROJECT ON HOTEL MANAGEMENT SYSTEM cout<<"Room Service Charges : " <
PROJECT ON HOTEL MANAGEMENT SYSTEM room r ; int valid ; char ch ; int t_roomno , tr ; char t_name[21] , t_phone[8] ; float t_advance , t_misc , t_room_srv ; fstream file ; file.open("CUSTOMER.DAT", ios::out | ios::ate) ; gotoxy(1,3) ; cout<<"Enter the Room no. of the customer to be modified " ; cin rel="nofollow">>tr ; getch(); char t_status ; t_status = r.room_status(tr) ; if (!r.room_found(tr) || t_status == 'V') { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND OR ROOM IS VACANT" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; return ; 67
PROJECT ON HOTEL MANAGEMENT SYSTEM } display_record(tr) ; gotoxy(1,12) ; cout<<"Do you want to modify this Room Record (y/n) : " ; do { valid = 1 ; gotoxy(48,12) ; cin>>ch; getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(42,12) ; clreol() ; } } while ( !valid ) ; if (ch == 'N') return ; gotoxy(1,14) ; cout<<"ENTER THE NEW DATA FOR THE CUSTOMER" ; gotoxy(1,16) ; cout<<"Room no.
:"; 68
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,17) ; cout<<"Name
:";
gotoxy(1,18) ; cout<<"Phone
:";
gotoxy(1,19) ; cout<<"Advance
:";
gotoxy(1,20) ; cout<<"Miscellineous : " ; gotoxy(1,21) ; cout<<"Room service
:";
do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE ROOM NUMBER FOR CUSTOMER : " ; gotoxy(20,16) ; cin>>t_roomno ; getch(); t_status = r.room_status(t_roomno) ; if ((!r.room_found(t_roomno)) || (r.room_found(t_roomno) && t_roomno != tr && t_status == 'O')) { 69
PROJECT ON HOTEL MANAGEMENT SYSTEM valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT EXIST OR NOT VACANT" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,16) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE NAME OF THE CUSTOMER : " ; gotoxy(20,17) ; gets(t_name) ; getch(); strupr(t_name) ; fflush(stdin) ; 70
PROJECT ON HOTEL MANAGEMENT SYSTEM if ((strlen(t_name) <= 0) || (strlen(t_name) > 20)) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT BE ZERO OR GREATER THAN 20" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,17) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE PHONE NO. OF THE CUSTOMER, ENTER '-' FOR NO PHONE NO." ; gotoxy(20,18) ; cin>>t_phone ; if ((strlen(t_phone) < 8 && strlen(t_phone) > 1) || (strlen(t_phone) > 8)) 71
PROJECT ON HOTEL MANAGEMENT SYSTEM { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"LENGTH SHOULD NOT LESS THAN 8 OR GREATER THAN 8" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,18) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE ADVANCE RS. " ; gotoxy(20,19) ; cin>>t_advance ; getch(); if (t_advance < 0) 72
PROJECT ON HOTEL MANAGEMENT SYSTEM { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,19) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE MISCALLENIOUS CHARGES" ; gotoxy(20,20) ; cin>>t_misc ; getch(); if (t_misc < 0) 73
PROJECT ON HOTEL MANAGEMENT SYSTEM { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,20) ; clreol() ; } } while ( !valid ) ; do { valid = 1 ; gotoxy(1,25) ; clreol() ; gotoxy(1,25) ; cout<<"ENTER THE ROOM SERVICE CHARGES" ; gotoxy(20,21) ; cin>>t_room_srv ; getch(); if (t_room_srv < 0) 74
PROJECT ON HOTEL MANAGEMENT SYSTEM { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(20,21) ; clreol() ; } } while ( !valid ) ; gotoxy(1,23) ; cout<<"Do you want to save the record (y/n) : " ; do { valid = 1 ; gotoxy(42,23) ; cin>>ch; getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') 75
PROJECT ON HOTEL MANAGEMENT SYSTEM { valid = 0 ; gotoxy(42,23) ; clreol() ; } } while ( !valid ) ; if (ch == 'Y') { if (t_roomno != tr) { r.change_status(t_roomno,'O') ; r.change_status(tr,'V') ; } int recno ; recno = recordno(tr) ; int location ; location = (recno-1) * sizeof(customer) ; file.seekp(location) ; roomno = t_roomno ; stry(name,t_name) ; stry(phone,t_phone) ; room_srv = t_room_srv ; advance = t_advance ; misc = t_misc ; 76
PROJECT ON HOTEL MANAGEMENT SYSTEM file.write((char *) this, sizeof(customer)) ; } file.close () ; } void customer :: delete_record(int t_roomno) { fstream file ; file.open("CUSTOMER.DAT", ios::in) ; fstream temp ; temp.open("temp.dat", ios::out) ; while ( !file.eof() ) { file.read((char *) this, sizeof(customer)) ; if ( file.eof() ) break ; if ( roomno != t_roomno ) temp.write((char *) this, sizeof(customer)) ; } file.close() ; temp.close() ; file.open("CUSTOMER.DAT", ios::out) ; temp.open("temp.dat", ios::in) ; temp.seekg(0) ; 77
PROJECT ON HOTEL MANAGEMENT SYSTEM while ( !temp.eof() ) { temp.read((char *) this, sizeof(customer)) ; if ( temp.eof() ) break ; file.write((char *) this, sizeof(customer)) ; } file.close() ; temp.close() ; } void customer :: display_customer_record(void) { clrscr() ; room r ; int valid ; int t_roomno ; gotoxy(1,3) ; cout<<"Enter the Room no. of the customer : " ; cin>>t_roomno ; char t_status ; t_status = r.room_status(t_roomno) ; if (!r.room_found(t_roomno) || t_status == 'V') { 78
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND OR ROOM IS VACANT" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; return ; } clrscr() ; gotoxy(5,3) ; cout<<"CUSTOMER RECORD" ; display_record(t_roomno) ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; } void customer :: deletion(void) { clrscr() ; room r ; int valid ; char ch ; int t_roomno ; 79
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(1,3) ; cout<<"Enter the Room no. of the customer to be deleted " ; cin>>t_roomno ; char t_status ; t_status = r.room_status(t_roomno) ; if (!r.room_found(t_roomno) || t_status == 'V') { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND OR ROOM IS VACANT" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; return ; } display_record(t_roomno) ; gotoxy(1,15) ; cout<<"Do you want to delete this Customer Record (y/n) : " ; do { valid = 1 ; gotoxy(52,15) ; cin>>ch ; 80
PROJECT ON HOTEL MANAGEMENT SYSTEM getch() ; ch = toupper(ch) ; if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(52,15) ; clreol() ; } } while ( !valid ) ; if (ch == 'N') return ; r.change_status(t_roomno,'V') ; delete_record(t_roomno) ; } void customer :: checkout(void) { clrscr() ; menu m1 ; room r ; int valid ; char ch ; int t_roomno ; gotoxy(1,3) ; cout<<"Enter the Room no. of the customer to be check out " ; 81
PROJECT ON HOTEL MANAGEMENT SYSTEM cin>>t_roomno ; char t_status ; t_status = r.room_status(t_roomno) ; if (!r.room_found(t_roomno) || t_status == 'V') { gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"ROOM NO. NOT FOUND OR ROOM IS VACANT" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; m1.main_menu(); } display_record(t_roomno) ; gotoxy(1,15) ; cout<<"Do you want to prepare bill of this Customer Record (y/n) : " ; do { valid = 1 ; gotoxy(63,15) ; cin>>ch; getch() ; ch = toupper(ch) ; 82
PROJECT ON HOTEL MANAGEMENT SYSTEM if (ch != 'Y' && ch != 'N') { valid = 0 ; gotoxy(63,15) ; clreol() ; } } while ( !valid ) ; if (ch == 'N') return ; fstream file ; file.open("CUSTOMER.DAT", ios::in) ; file.seekg(0) ; char t_name[21] ; float t_advance, t_room_srv, t_misc, t_tariff ; while (file.read((char *) this, sizeof(customer))) { if (t_roomno == roomno) { stry(t_name,name) ; t_advance = advance ; t_room_srv = room_srv ; t_misc = misc ; break ; } 83
PROJECT ON HOTEL MANAGEMENT SYSTEM } file.close() ; t_tariff = r.get_data(t_roomno) ; a ; a.prepare_bill(t_roomno,t_tariff,t_name,t_advance,t_room_srv,t_misc) ; r.change_status(t_roomno,'V') ; delete_record(t_roomno) ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; m1.main_menu() ; } void :: prepare_bill(int t_roomno, float t_tariff, char t_name[21], float t_advance, float t_room_srv, float t_misc) { menu m1 ; int valid ; int days ; float tax , total ; gotoxy(1,17) ; cout<<"Enter the no. of days : " ; do { 84
PROJECT ON HOTEL MANAGEMENT SYSTEM valid = 1 ; gotoxy(25,17) ; cin>>days ; if (days < 0 || days > 2000) { valid = 0 ; gotoxy(1,25) ; clreol() ; gotoxy(1,24) ; cout<<"SHOULD NOT LESS THAN ZERO" ; gotoxy(1,25) ; cout<<"Press any key to continue..." ; getch() ; gotoxy(1,24) ; clreol() ; gotoxy(1,25) ; clreol() ; gotoxy(25,17) ; clreol() ; } } while ( !valid ) ; t_tariff = t_tariff * days ; total = (t_room_srv + t_misc + t_tariff) - t_advance ; tax = total * 0.22 ; total = total + tax ; clrscr() ; menu m ; 85
PROJECT ON HOTEL MANAGEMENT SYSTEM gotoxy(5,3) ; cout<<"Bill of Room no. : " <
: " <
gotoxy(5,8) ; cout<<"Tariff Charges
: " <
gotoxy(5,10) ; cout<<"Misc. Charges
: " <
gotoxy(5,12) ; cout<<"Room service Charges : " <
: " <
gotoxy(5,16) ; cout<<"Advance
: " <
gotoxy(5,18) ; cout<<"------------------------------------------" ; gotoxy(5,19) ; cout<<"Total Bill
: " <
gotoxy(5,20) ; cout<<"------------------------------------------" ; } void main ( void ) { 86
PROJECT ON HOTEL MANAGEMENT SYSTEM menu m ; m.enter_() ; m.intro(); }
87
PROJECT ON HOTEL MANAGEMENT SYSTEM
OUTPUT
88
PROJECT ON HOTEL MANAGEMENT SYSTEM
89
PROJECT ON HOTEL MANAGEMENT SYSTEM
90
PROJECT ON HOTEL MANAGEMENT SYSTEM
91
PROJECT ON HOTEL MANAGEMENT SYSTEM
92
PROJECT ON HOTEL MANAGEMENT SYSTEM
93
PROJECT ON HOTEL MANAGEMENT SYSTEM
94
PROJECT ON HOTEL MANAGEMENT SYSTEM
BIBLOGRAPHY www.wikipedia.org www.idoub.com www.programmingsimplified.com www.rogramming.com
95