Question: C++ Code Help!! Based on the current code, bill is under edit record but I need to move it to the main menu page. It

C++ Code Help!! Based on the current code, bill is under edit record but I need to move it to the main menu page. It will be of great help if someone can help me. I compiled this code using Codeblocks

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

using namespace std;

//START OF CLASS 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 bill(int); //for the bill of a record }; //END OF CLASS //FOR DISPLAYING MAIN MENU void hotel::main_menu() {

int choice; while(choice!=5) {

system("cls"); cout<<" \t\t\t\t*************************"; cout<<" \t\t\t\t XYZ 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.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: 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<<" Luxury Rooms from 31 - 45"; cout<<" Royal Rooms from 46 - 50"; cout <<" Enter The Room no. you want to stay in :- "< cin>>r;

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 PURTICULAR 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 :- "< cin>>r;

while(!fin.eof()) {

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

system("cls"); cout<<" Customer Details"; cout<<" ----------------"; cout<<" Room no: "< cout<<" Name: "< cout<<" Address: "< cout<<" Phone no: "< flag=1; break;

}

}

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"<

}

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<<" 3. Bill Of Customer"; 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;

case 3: bill(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: "< cout<<" Address: "< cout<<" Pone No: "< cout<<" 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<<" Sorry room no. not found or vacant...!!";

else {

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

}

} //END OF DELETE FUNCTION //FUNCTION FOR CUSTOMER`S BILL void hotel::bill(int 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";}

}

f1.close(); getch();

}

//END OF BILLING 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\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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!