Hello guys I have gotten my program to compile but I am having a problem with my calculations, it is returning garbage. Can someone please look over this and let me know what I am doing wrong in the calculations. I have tried numerous things to get this fixed and nothing is working.
//Lynette Wilkins
//Week 8
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
class HotelRoom
{
protected:
int k; // room num
int occup_stat;
double daily_rt;
// guest and daily rate will be added here in weeks ahead
public:
HotelRoom(int i = 0, int occup = 0, double rate = 89.00); // one argument constructor for now
HotelRoom(const HotelRoom&); //copy constructor
~HotelRoom(); //deconstructor
};
HotelRoom::HotelRoom(int i, int occup, double rate) : k(i)
{
cout <<endl;
cout<< "HotelRoom room number: "
<<k<< endl;
}
HotelRoom::HotelRoom(const HotelRoom& room_r) :k(room_r.k)
{
cout<<endl;
cout<<"(HotelRoom copy constructor executed)"<<endl;
}
HotelRoom::~HotelRoom()
{
cout <<endl;
cout<<"(HotelRoom destructor executed)"<<endl;
}
class GuestRoom : public HotelRoom
{
protected:
int capacity;
int status;
int days;
double gbill;
public:
GuestRoom(int c = 0, int s = 0, int d = 0);
GuestRoom(const GuestRoom &);
~GuestRoom();
double Calculate_Bill();
};
GuestRoom::GuestRoom(int c, int s, int d) : HotelRoom(k = 123), capacity(c), status(s), days(d)
{
cout<<endl;
cout<<"**GuestRoom constructor executed**"<<endl<<endl;
cout <<"Maximum number of guest per room: "<<capacity<<endl;
cout <<"Number of guest occupying room: "<<status<<endl;
cout <<"Days that room is going to be occupied: "<<days<<endl;
}
GuestRoom::GuestRoom(const GuestRoom & hroom_r)
:HotelRoom(hroom_r), capacity(hroom_r.capacity)
{
cout<<endl;
cout<<"**GuestRoom copy constructor executed**"
<<endl;
}
GuestRoom::~GuestRoom()
{
cout<<endl;
cout<< "**GuestRoom destructor executed**"<<endl;
}
double GuestRoom::Calculate_Bill()
{
gbill = daily_rt*days*occup_stat;
return gbill;
}
class MeetingRoom : public HotelRoom
{
protected:
int seats;
int status;
double mbill;
public:
MeetingRoom(int s = 0, int st = 0);
MeetingRoom(const MeetingRoom &);
~MeetingRoom();
double Calculate_Bill(int);
void Display();
};
MeetingRoom::MeetingRoom(int s, int st) : HotelRoom(k = 123), seats(s), status(st)
{
cout<<endl;
cout<<"Constructor Executed "<<seats<<endl;
}
MeetingRoom::MeetingRoom(const MeetingRoom & mroom_r)
:HotelRoom(mroom_r), seats(mroom_r.seats)
{
cout<<endl;
cout<<"~~MeetingRoom copy constructor executed~~"
<<endl;
}
MeetingRoom::~MeetingRoom()
{
cout<<endl;
cout<< "~~MeetingRoom destructor executed~~"
<<endl;
}
double MeetingRoom::Calculate_Bill(int seat)
{
seats = seat;
mbill = seat * 10.00 + 500.00;
return mbill;
}
void MeetingRoom::Display()
{
cout<< setprecision(2)
<<setiosflags(ios::fixed)
<<setiosflags(ios::showpoint);
cout<<"Seats in the Meeting Room: "<<seats<<endl;
cout<<"Status of the Meeting Room:"<<status<<endl;
cout<<"Bill for renting the room: "<<mbill<<endl;
}
int main()
{
HotelRoom room_object1(123, 4, 89.00);
GuestRoom groom_object1(5,3,4);
GuestRoom groom_object2 = groom_object1;
MeetingRoom mroom_object1(100,1);
MeetingRoom mroom_object2 = mroom_object1;
cout <<endl;
mroom_object1.MeetingRoom::Display();
system("PAUSE");
return 0;
}