In this code, once I run my program, the output for my death rate becomes corrupt. But all my variables are defined as double and there is no variable type change. Why is my output corrupt? Is it because my value is not being passed correctly?
#include <iostream>;
#include <iomanip>;
using namespace std;
//variable definition
class Population
{
private:
double population, births, deaths;
double b_rate, d_rate;
public:
void setpopulation(double p);
void setdeath(double death);
void setbirth(double b);
double getdrate();
double getbrate();
};
void Population::setpopulation(double p)
{
population = p;
}
void Population::setdeath(double death)
{
deaths = death;
d_rate = births / population;
}
void Population::setbirth(double b)
{
births = b;
b_rate = births/population;
}
double Population::getdrate()
{
cout << d_rate << endl;
return d_rate;
}
double Population::getbrate()
{;
return b_rate;
}
int main()
{
Population pop;
pop.setpopulation(100000);
pop.setdeath(7500);
pop.setbirth(8000);
cout << fixed << setprecision(2);
cout << "Death rate = " << pop.getdrate() << endl;
cout << "Birth rate = " << pop.getbrate() << endl;
return 0;
}