Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ Code Urgent Help!! In the checkout function, after a customer has checked out , the records should be deleted as well. But currently, in

C++ Code Urgent Help!! In the checkout function, after a customer has checked out , the records should be deleted as well. But currently, in my code the record of checked out customers still exist.

It will be of great help if anyone can modify my code and send the corrected source code. I am not sure on how to modify it since I'm a beginner. Thanks !!

#include #include #include #include #include #include

using namespace std;

//START OF CLASS class hotel {

int room_no; int unit; char name[30]; char address[50]; char phone[10];

public:

void additional_facilities (); //to display additional facilities 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 void checkout(int); //for the bill of a record int check(int); //to check room status void modify(int); //to modify the record void delete_rec(int); //to delete the record

}; //END OF CLASS

//FOR DISPLAYING MAIN MENU void hotel::main_menu() {

int choice; while(choice!=7) {

system("cls"); cout<<" \t\t\t\t*************************"; cout<<" \t\t\t\t SIMPLE HOTEL MANAGEMENT "; cout<<" \t\t\t\t * MAIN MENU *"; cout<<" \t\t\t\t*************************"; cout<<" \t\t\t1.Book A Room"; cout<<" \t\t\t2.Customer Records"; cout<<" \t\t\t3.Rooms Allotted"; cout<<" \t\t\t4.Edit Record"; cout<<" \t\t\t5.Additional Facilities"; cout<<" \t\t\t6.Checkout"; cout<<" \t\t\t7.Exit"; cout<<" \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: additional_facilities(); break;

case 6: checkout(room_no); break;

case 7: break;

default: {

cout<<" \t\t\tWrong choice.....!!!"; cout<<" \t\t\tPress any key to continue....!!"; getch();

}

}

}

}

//END OF MENU FUNCTION

//FUNCTION FOR BOOKING OF ROOM

void hotel::add() {

system("cls"); int r,flag; ofstream fout("Record.dat",ios::app);

cout<<" Enter Customer Detalis"; cout<<" ----------------------"; cout<<" Room no: "; cout<<" Total no. of Rooms - 50"; cout<<" Ordinary Rooms from 1 - 30"; cout<<" Luxuary Rooms from 31 - 45"; cout<<" Royal Rooms from 46 - 50"; cout <<" Enter The Room no. you want to stay in :- "<>r;

if (r>50) cout<<" Room does not exist"; else{

flag=check(r);

if(flag) cout<<" Sorry..!!!Room is already booked";

else {

room_no=r; cout<<" Name: "; cin>>name; cout<<" Address: "; cin>>address; cout<<" Phone No: "; cin>>phone;

fout.write((char*)this,sizeof(hotel)); cout<<" Room is booked...!!!";

} }

cout<<" Press any key to continue.....!!";

getch(); fout.close();

}

//END OF BOOKING FUNCTION //FUNCTION FOR DISPLAYING A PARTICULAR CUSTOMER`S RECORD void hotel::display() {

system("cls");

ifstream fin("Record.dat",ios::in); int r,flag;

cout<<" Enter room no. for a particular customer`s details :- "<>r;

while(!fin.eof()) {

fin.read((char*)this,sizeof(hotel)); if(room_no==r) {

system("cls"); cout<<" Cusromer Details"; cout<<" ----------------"; cout<<" Room no: "<

}

}

if(flag==0) cout<<" Sorry Room no. not found or vacant....!!"; cout<<" Press any key to continue....!!";

getch(); fin.close(); }

//END OF DISPLAY FUNCTION //FUNCTION TO DISPLAY ALL ROOMS OCCUPIED void hotel::rooms() {

system("cls");

ifstream fin("Record.dat",ios::in); cout<<" \t\t\t List Of Rooms Allotted"; cout<<" \t\t\t ----------------------"; cout<<" Room No.\tName\t\tAddress\t\t\t\tPhone No. ";

while(!fin.eof()) {

fin.read((char*)this,sizeof(hotel)); cout<<" "<

}

cout<<" \t\t\tPress any key to continue.....!!"; getch(); fin.close();

} //FUNCTION FOR EDITING RECORDS AND FOR BILL

void hotel::edit() {

system("cls");

int choice,r; cout<<" EDIT MENU"; cout<<" ---------"; cout<<" 1.Modify Customer Record"; cout<<" 2.Delete Customer Record"; cout<<" Enter your choice: ";

cin>>choice; system("cls");

cout<<" Enter room no: " ; cin>>r;

switch(choice) {

case 1: modify(r); break;

case 2: delete_rec(r); break;

default: cout<<" Wrong Choice.....!!";

} cout<<" 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);

}

//FUNCTION TO MODIFY CUSTOMERS RECORD

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<<" Enter New Details"; cout<<" -----------------"; cout<<" Name: "; cin>>name; cout<<" Address: "; cin>>address; cout<<" Phone no: "; cin>>phone; file.seekg(pos); file.write((char*)this,sizeof(hotel)); cout<<" Record is modified....!!"; flag=1; break;

}

}

if(flag==0) cout<<" Sorry Room no. not found or vacant...!!"; file.close();

}

//END OF MODIFY FUNCTION //FUNCTION FOR DELETING RECORD 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<<" Name: "<>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<<" Sorry room no. not found or vacant...!!";

else {

remove("Record.dat"); rename("temp.dat","Record.dat");

}

}

//END OF DELETE FUNCTION //START OF ADDITIONAL FACILITIES void hotel::additional_facilities() { system("cls");

ifstream fin("Record.dat",ios::in); int r,flag;

cout<<" Enter your room no. :- "<>r;

while(!fin.eof()) {

fin.read((char*)this,sizeof(hotel)); if(room_no==r) { system("cls"); int r,flag;

cout<<" Additional Facilities Provided"; cout<<" ----------------------"; cout<<" 1. Gym "; cout<<" 2. Sauna"; cout<<" 3. Karaoke"; cout<<" 4. BBQ Facilities"; cout<<" 5. Bicycles"; cout <<" Enter the additional facility you'd like with your stay:- "<>r;

flag=check(r);

if(r>6) cout<<" Sorry..!!!Facility is not available";

else {

room_no=r; unit=unit; cout<<" Number of units/persons: "; cin>>unit;

if (unit<20) cout<<" Order added to your booking!!!"; else { cout<<" Sorry! The facility you chose is fully booked"; } }

cout<<" Press any key to continue.....!!";

getch();

} } }

//END OF ADDITIONAL FACILITIES //FUNCTION FOR CHECKOUT void hotel::checkout(int r)

{

int room_no;

system("cls");

ifstream fin("Record.dat",ios::in);

cout<<" Enter your room no. :- ";

cin>>room_no;

while(!fin.eof())

{

fin.read((char*)this,sizeof(hotel));

if(room_no==r)

{

hotel h1;

ifstream f1;

f1.open("record.dat",ios::in|ios::binary);

if(!f1)

cout<<"cannot open";

else

{

f1.read((char*)&h1,sizeof (hotel));

while(f1)

{

f1.read((char*)&h1,sizeof(hotel));

}

if (h1.room_no == r)

{

if(h1.room_no>=1&&h1.room_no<=30)

cout<<"your bill = 2000";

else if (h1.room_no>=35&&h1.room_no<=45)

cout<<"your bill = 5000" ;

else

cout<<"your bill = 7000";

}

else

{ cout<<"room no. not found";}

} cout<<" Successfully checked out.....!!"; cout<<" Press any key to continue.....!!";

f1.close();

getch();

}

}

}

//END OF CHECKOUT FUNCTION

//START OF MAIN PROGARM

int main() { hotel h;

system("cls");

cout<<" \t\t\t****************************"; cout<<" \t\t\t* HOTEL MANAGEMENT PROJECT *"; cout<<" \t\t\t****************************"; cout<<" \t\tDeveloped By:"; cout<<"\t G. Rohit"; cout<<" \t\t\t\t\tPress any key to continue....!!";

getch();

h.main_menu(); return 0; }

//END OF MAIN PROGRAM

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions