Cpp Project :Hotel Management for Traveling Agency
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<fstream>
#include<sstream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define MaxRoom 1000class CustomerData{ public:string username;
int userid;string cell;
string address;
};
class RoomData{ public: int roomNumber;CustomerData C;
int rate; bool flag;};
class HotelData{public:string HotelName;
int HotelId; int NumberOfRoom; int NumberOfCustomer;RoomData Room[MaxRoom];
HotelData(string hn, int id, int n)
{HotelName=hn;
HotelId=id;
NumberOfRoom=n;
UpdateRoomData();
}
void UpdateRoomData() {for(int i=0;i<NumberOfRoom;i++)
{Room[i].roomNumber=1001+i;
Room[i].flag=false;
Room[i].rate=2000;
}
ifstream myfile;
string fileName = HotelName+".txt"; char c[fileName.size()+1]; memset(c, 0, sizeof(c));for(int i=0;i<fileName.size();i++)
c[i]=fileName[i];
myfile.open(c);
stringstream ss;
string a,cn,ca;
int number,cid,cc,r;CustomerData uu;
while(getline(myfile,a)) {ss.clear();ss<<a;ss>>number;
getline(myfile,a);
cn=a;
getline(myfile,a);
ss.clear();ss<<a;ss>>cid;
getline(myfile,a);
ss.clear();ss<<a;ss>>cc;
getline(myfile,a);
ca=a;
getline(myfile,a);
ss.clear();ss<<a;ss>>r;
uu.username=cn;
uu.userid=cid;
uu.cell=cc;
uu.address=ca;
AddUser(uu,number);
}
myfile.close();
UpdateFile();
}
void AddUser(CustomerData NewUser, int num)
{for(int i=0;i<NumberOfRoom;i++)
{ if(Room[i].roomNumber==num) {Room[i].C=NewUser;
Room[i].flag=true;
break;}
}
}
void UpdateFile() {ofstream myfile;
string fileName = HotelName+".txt"; char c[fileName.size()+1]; memset(c, 0, sizeof(c));for(int i=0;i<fileName.size();i++)
c[i]=fileName[i];
myfile.open(c);
for(int i=0;i<NumberOfRoom;i++)
{ if(Room[i].flag) {myfile<<Room[i].roomNumber<<endl;
myfile<<Room[i].C.username<<endl;
myfile<<Room[i].C.userid<<endl;
myfile<<Room[i].C.cell<<endl;
myfile<<Room[i].C.address<<endl;
myfile<<Room[i].rate<<endl;
}
}
myfile.close();
}
};
void printOptions(void)
{ cout<<"1. Show Hotel List"<<endl; cout<<"2. Select Hotel"<<endl; cout<<"3. Show Available Rooms"<<endl; cout<<"4. New Customer Entry"<<endl; cout<<"5. Remove Customer"<<endl; cout<<"6. Exit"<<endl;}
vector<HotelData> H;
bool hotelSelection;int hotelId;void preCalculate(void)
{ifstream myfile;
myfile.open("HotelList.txt");string a;
string name;
int id, n;stringstream ss;
while(getline(myfile,a)) {name=a;
getline(myfile,a);
ss.clear();
ss<<a;
ss>>id;
getline(myfile,a);
ss.clear();
ss<<a;
ss>>n;
//cout<<name<<" "<<id<<" "<<n<<endl;HotelData th(name,id,n);
H.push_back(th);
}
myfile.close();
for(int i=0;i<H.size();i++)
H[i].UpdateFile();
}
void ShowHotelList(){ifstream myfile;
myfile.open("HotelList.txt");string a;
string name;
int id, n;stringstream ss;
while(getline(myfile,a)) {name=a;
getline(myfile,a);
ss.clear();
ss<<a;
ss>>id;
getline(myfile,a);
ss.clear();
ss<<a;
ss>>n;
cout<<"Name: "<<name<<endl; cout<<"HotelId: "<<id<<endl;}
printf("\n\n");myfile.close();
}
void SelectHotel(){ cout<<"Enter HotelID: ";cin>>hotelId;
hotelSelection=true;
cout<<"Hotel Selected..."<<endl;}
string getHotelName(int id){for(int i=0;i<H.size();i++)
{ if(H[i].HotelId==id) return H[i].HotelName;}
return "HotelName Not Found";
}
void ShowAvailAbleRooms(void)
{ cout<<"Hotel Name: "<<getHotelName(hotelId)<<endl;for(int i=0;i<H.size();i++)
{ if(H[i].HotelId==hotelId) { cout<<"Available Rooms.....\n";for(int j=0;j<H[i].NumberOfRoom;j++)
{ if(H[i].Room[j].flag==false)cout<<H[i].Room[j].roomNumber<<endl;
}
}
}
}
void NewCustomerEntry(void)
{ string fileName = getHotelName(hotelId)+".txt";CustomerData cc;
int roomnumber, rate; cout<<"Enter Room Number: "; cin>>roomnumber; cout<<"Enter Customer Name: "; cin>>cc.username; cout<<"Enter Customer Id: "; cin>>cc.userid; cout<<"Enter Customer Cell: "; cin>>cc.cell; cout<<"Enter Customer Address: "; cin>>cc.address;rate=2000;
for(int i=0;i<H.size();i++)
{ if(H[i].HotelId==hotelId) {H[i].AddUser(cc,roomnumber);
H[i].UpdateFile();
}
}
cout<<"Entry completed"<<endl;}
void RemoveUser(){ int userId; cout<<"Enter UserId: ";cin>>userId;
for(int i=0;i<H.size();i++)
{ if(H[i].HotelId==hotelId) {for(int j=0;j<H[i].NumberOfRoom;j++)
{ if(H[i].Room[j].C.userid==userId) {H[i].Room[j].flag=false;
H[i].UpdateFile();
cout<<"Customer Deleted Successfully"<<endl; return;}
}
}
}
cout<<"Cutomer Id not found"<<endl; return;}
int main(){preCalculate();
int token; while(token>0) {printOptions();
cout<<"Enter Your Choice: ";cin>>token;
system("cls"); if(token==1)ShowHotelList();
if(token==2)SelectHotel();
if(token==3) { if(hotelSelection==false) { cout<<"Hotel must be selected first"<<endl; continue;}
ShowAvailAbleRooms();
}
if(token==4) { if(hotelSelection==false) { cout<<"Hotel must be selected first"<<endl; continue;}
NewCustomerEntry();
}
if(token==5) { if(hotelSelection==false) { cout<<"Hotel must be selected first"<<endl; continue;}
RemoveUser();
}
if(token==6) break; cout<<"Press any key to continue....."<<endl;getchar();
getchar();
}
return 0;}
No comments:
Post a Comment