Created
June 10, 2013 06:03
-
-
Save geoom/5746809 to your computer and use it in GitHub Desktop.
Hotel management -
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<iostream.h> | |
#include<conio.h> | |
#include<fstream.h> | |
#include<stdio.h> | |
#include<dos.h> | |
class hotel | |
{ | |
int room_no; | |
char name[30]; | |
char address[50]; | |
char phone[10]; | |
public: | |
void main_menu(); //to dispay the main menu | |
void add(); //to book a room | |
void display(); //to display the customer record | |
void rooms(); //to display alloted rooms | |
void edit(); //to edit the customer record | |
int check(int); //to check room status | |
void modify(int); //to modify the record | |
void delete_rec(int); //to delete the record | |
}; | |
void hotel::main_menu() | |
{ | |
int choice; | |
while(choice!=5) | |
{ | |
clrscr(); | |
cout<<"\n\t\t\t\t*************"; | |
cout<<"\n\t\t\t\t* MAIN MENU *"; | |
cout<<"\n\t\t\t\t*************"; | |
cout<<"\n\n\n\t\t\t1.Book A Room"; | |
cout<<"\n\t\t\t2.Customer Record"; | |
cout<<"\n\t\t\t3.Rooms Allotted"; | |
cout<<"\n\t\t\t4.Edit Record"; | |
cout<<"\n\t\t\t5.Exit"; | |
cout<<"\n\n\t\t\tEnter Your Choice: "; | |
cin>>choice; | |
switch(choice) | |
{ | |
case 1: add(); | |
break; | |
case 2: display(); | |
break; | |
case 3: rooms(); | |
break; | |
case 4: edit(); | |
break; | |
case 5: break; | |
default: | |
{ | |
cout<<"\n\n\t\t\tWrong choice.....!!!"; | |
cout<<"\n\t\t\tPress any key to continue....!!"; | |
getch(); | |
} | |
} | |
} | |
} | |
void hotel::add() | |
{ | |
clrscr(); | |
int r,flag; | |
ofstream fout("Record.dat",ios::app); | |
cout<<"\n Enter Customer Detalis"; | |
cout<<"\n ----------------------"; | |
cout<<"\n\n Room no: "; | |
cin>>r; | |
flag=check(r); | |
if(flag) | |
cout<<"\n Sorry..!!!Room is already booked"; | |
else | |
{ | |
room_no=r; | |
cout<<" Name: "; | |
gets(name); | |
cout<<" Address: "; | |
gets(address); | |
cout<<" Phone No: "; | |
gets(phone); | |
fout.write((char*)this,sizeof(hotel)); | |
cout<<"\n Room is booked...!!!"; | |
} | |
cout<<"\n Press any key to continue.....!!"; | |
getch(); | |
fout.close(); | |
} | |
void hotel::display() | |
{ | |
clrscr(); | |
ifstream fin("Record.dat",ios::in); | |
int r,flag; | |
cout<<"\n Enter room no: "; | |
cin>>r; | |
while(!fin.eof()) | |
{ | |
fin.read((char*)this,sizeof(hotel)); | |
if(room_no==r) | |
{ | |
clrscr(); | |
cout<<"\n Cusromer Details"; | |
cout<<"\n ----------------"; | |
cout<<"\n\n Room no: "<<room_no; | |
cout<<"\n Name: "<<name; | |
cout<<"\n Address: "<<address; | |
cout<<"\n Phone no: "<<phone; | |
flag=1; | |
break; | |
} | |
} | |
if(flag==0) | |
cout<<"\n Sorry Room no. not found or vacant....!!"; | |
cout<<"\n\n Press any key to continue....!!"; | |
getch(); | |
fin.close(); | |
} | |
void hotel::rooms() | |
{ | |
clrscr(); | |
ifstream fin("Record.dat",ios::in); | |
cout<<"\n\t\t\t List Of Rooms Allotted"; | |
cout<<"\n\t\t\t ----------------------"; | |
cout<<"\n\n Room No.\tName\t\tAddress\t\t\t\tPhone No.\n"; | |
while(!fin.eof()) | |
{ | |
fin.read((char*)this,sizeof(hotel)); | |
cout<<"\n\n "<<room_no<<"\t\t"<<name; | |
cout<<"\t\t"<<address<<"\t\t"<<phone; | |
} | |
cout<<"\n\n\n\t\t\tPress any key to continue.....!!"; | |
getch(); | |
fin.close(); | |
} | |
void hotel::edit() | |
{ | |
clrscr(); | |
int choice,r; | |
cout<<"\n EDIT MENU"; | |
cout<<"\n ---------"; | |
cout<<"\n\n 1.Modify Customer Record"; | |
cout<<"\n 2.Delete Customer Record"; | |
cout<<"\n Enter your choice: "; | |
cin>>choice; | |
clrscr(); | |
cout<<"\n Enter room no: " ; | |
cin>>r; | |
switch(choice) | |
{ | |
case 1: modify(r); | |
break; | |
case 2: delete_rec(r); | |
break; | |
default: cout<<"\n Wrong Choice.....!!"; | |
} | |
cout<<"\n Press any key to continue....!!!"; | |
getch(); | |
} | |
int hotel::check(int r) | |
{ | |
int flag=0; | |
ifstream fin("Record.dat",ios::in); | |
while(!fin.eof()) | |
{ | |
fin.read((char*)this,sizeof(hotel)); | |
if(room_no==r) | |
{ | |
flag=1; | |
break; | |
} | |
} | |
fin.close(); | |
return(flag); | |
} | |
void hotel::modify(int r) | |
{ | |
long pos,flag=0; | |
fstream file("Record.dat",ios::in|ios::out|ios::binary); | |
while(!file.eof()) | |
{ | |
pos=file.tellg(); | |
file.read((char*)this,sizeof(hotel)); | |
if(room_no==r) | |
{ | |
cout<<"\n Enter New Details"; | |
cout<<"\n -----------------"; | |
cout<<"\n Name: "; | |
gets(name); | |
cout<<" Address: "; | |
gets(address); | |
cout<<" Phone no: "; | |
gets(phone); | |
file.seekg(pos); | |
file.write((char*)this,sizeof(hotel)); | |
cout<<"\n Record is modified....!!"; | |
flag=1; | |
break; | |
} | |
} | |
if(flag==0) | |
cout<<"\n Sorry Room no. not found or vacant...!!"; | |
file.close(); | |
} | |
void hotel::delete_rec(int r) | |
{ | |
int flag=0; | |
char ch; | |
ifstream fin("Record.dat",ios::in); | |
ofstream fout("temp.dat",ios::out); | |
while(!fin.eof()) | |
{ | |
fin.read((char*)this,sizeof(hotel)); | |
if(room_no==r) | |
{ | |
cout<<"\n Name: "<<name; | |
cout<<"\n Address: "<<address; | |
cout<<"\n Pone No: "<<phone; | |
cout<<"\n\n Do you want to delete this record(y/n): "; | |
cin>>ch; | |
if(ch=='n') | |
fout.write((char*)this,sizeof(hotel)); | |
flag=1; | |
} | |
else | |
fout.write((char*)this,sizeof(hotel)); | |
} | |
fin.close(); | |
fout.close(); | |
if(flag==0) | |
cout<<"\n Sorry room no. not found or vacant...!!"; | |
else | |
{ | |
remove("Record.dat"); | |
rename("temp.dat","Record.dat"); | |
} | |
} | |
void main() | |
{ | |
hotel h; | |
textmode(C80); | |
textbackground(WHITE); | |
textcolor(RED); | |
clrscr(); | |
cout<<"\n\t\t\t****************************"; | |
cout<<"\n\t\t\t* HOTEL MANAGEMENT PROJECT *"; | |
cout<<"\n\t\t\t****************************"; | |
sleep(2); | |
cout<<"\n\n\n\n\t\tMade By:"; | |
sleep(1); | |
cout<<"\tThe Crazy Programmer"; | |
sleep(1); | |
cout<<"\n\n\t\tSubmitted To:"; | |
sleep(1); | |
cout<<"\tMrs. Rakhi Jain"; | |
sleep(1); | |
cout<<"\n\n\n\n\n\n\n\t\t\t\t\tPress any key to continue....!!"; | |
getch(); | |
h.main_menu(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment