Question

In: Computer Science

Transient Population Populations are effected by the birth and death rate, as well as the number...

Transient Population
Populations are effected by the birth and death rate, as well as the number of people who move in and out each year. The birth rate is the percentage increase of the population due to births and the death rate is the percentage decrease of the population due to deaths. Write a program that displays the size of a population for any number of years. The program should ask for the following data:

  • The starting size of a population P
  • The annual birth rate (as a percentage of the population expressed as a fraction in decimal form)B
  • The annual death rate (as a percentage of the population expressed as a fraction in decimal form)D
  • The average annual number of people who have arrived A
  • The average annual number of people who have moved away M
  • The number of years to display nYears

Write a function that calculates the size of the population after a year. To calculate the new population after one year, this function should use the formula
N = P + BP - DP + A - M
where N is the new population size, P is the previous population size, and B, D, A and M are as defined above. The function should return the value computed for N and should receive the values of P, B, D, A and M as parameters.

Prompts And Output Labels. The program first displays the message "This program calculates population change." on a line by itself, followed by these prompts for the inputs described above:      "Enter the starting population size: "
     "Enter the annual birth rate (as % of current population): "
     "Enter the annual death rate (as % of current population): "
     "How many individuals move into the area each year? ";
     "How many individuals leave the area each year? ";
     "For how many years do you wish to view population changes? "

The output of the program starts with a line:
Starting population: P (where P is the starting population (surprise)), and then continues with a separate line for each year, each line being of the form: Population at the end of year ||Y is P. (where Y is the year number (1,2,3,...) starting with 1, and where P is the population calculated for that year).

Input Validation. The program should validate all data read. None of the data should be negative, the number of years should not be less than 1 and the initial population should not be less than 2. If an invalid value is read, the program should print an error-specific message on a line by itself, followed by the directive "Please re-enter:" and then input another value-- until a valid value is entered. The error specific messages are: "Starting population must be 2 or more.", "Birth rate percent cannot be negative.", "Death rate percent cannot be negative.", "Arrivals cannot be negative.", "Departures cannot be negative.", and "Years must be one or more.".

Solutions

Expert Solution

#include<bits/stdc++.h>
using namespace std;
int calculate(int p,float b,float d,int a,int m,int n)
{
    for (int i=1;i<=n;i++)
    {
        int N = p + floor(b*p) - floor(d*p) + a - m;/* you can use formula as int N = p + floor(b*p/100) - floor(d*p/100) + a - m whenever rate is suppose 2% to get the right answer i have written as it is formula given in question but to get right answer you have to write the formula gievn in the comment section  */
        cout<<"Population at the end of Year "<<i<<" is "<<N<<endl;
        p = N;
    }
}
int main()
{
    int p,a,m,n;
    float b,d;
    cout<<"Enter the starting population size";
    cin>>p;
    while(p<2)
    {
        cout<<"Please re-enter"<<endl<<"Starting population must be greater than or equal to 2";
        cin>>p;
    }
    cout<<"Enter the annual birth rate (as % of current population): ";
    cin>>b;
    while(b<0)
    {
        cout<<"Please re-enter"<<endl<<"Birth rate cannot be negative";
        cin>>b;
    }
    cout<<"Enter the annual death rate (as % of current population): ";
    cin>>d;
    while(d<0)
    {
        cout<<"Please re-enter"<<endl<<"Death rate cannot be negative";
        cin>>d;
    }
    cout<<"How many individuals move into the area each year? ";
    cin>>a;
    while(a<0)
    {
        cout<<"Please re-enter"<<endl<<"Arrivals cannot be negative";
        cin>>a;
    }
    cout<< "How many individuals leave the area each year? ";
    cin>>m;
    while(m<0)
    {
        cout<<"Please re-enter"<<endl<<"Departures cannot be negative";
        cin>>m;
    }
    cout<< "For how many years do you wish to view population changes? ";
    cin>> n;
    while(n<1)
    {
        cout<<"Please re-enter"<<endl<<"Years must be one or more";
        cin>>n;
    }
    calculate(p,b,d,a,m,n);
    return 0;
}

If you have any doubt you can ask in comment section


Related Solutions

Crude Birth Number of Births Estimated midyear population Crude Death Number of Deaths Estimated midyear population...
Crude Birth Number of Births Estimated midyear population Crude Death Number of Deaths Estimated midyear population Crude Divorce Number of Divorces Estimated midyear population Crude Marriage Number of Marriages Estimated midyear population Fetal Death Number of Fetal Deaths (20+Wks Gestation) Number of Live Births + Fetal Deaths Fertility Number of Live Births Estimated midyear female population age 15–44 Infant Mortality Number of Infant Deaths Number of Live Births Neonatal Number of deaths < 28 days Mortality Number of Live births...
Crude Birth Number of Births Estimated midyear population Crude Death Number of Deaths Estimated midyear population...
Crude Birth Number of Births Estimated midyear population Crude Death Number of Deaths Estimated midyear population Crude Divorce Number of Divorces Estimated midyear population Crude Marriage Number of Marriages Estimated midyear population Fetal Death Number of Fetal Deaths (20+Wks Gestation) Number of Live Births + Fetal Deaths Fertility Number of Live Births Estimated midyear female population age 15–44 Infant Mortality Number of Infant Deaths Number of Live Births Neonatal Number of deaths < 28 days Mortality Number of Live births...
The population growth for Norway is: 1 birth every 1 minutes and 40 seconds 1 death...
The population growth for Norway is: 1 birth every 1 minutes and 40 seconds 1 death every 3 minutes and 16 seconds 1 arrival every 57 seconds 1 departure every 1 minute and 49 seconds Assume the current population is 35,201,142. Write a program that calculates the population n minutes from now. Declare a final integer called minutesElapsed and perform your calculations based on that
Compared to world standards, how would you describe the UAE crude birth rate, crude death rate,...
Compared to world standards, how would you describe the UAE crude birth rate, crude death rate, and infant mortality rate?
Infant mortality rate is defined as the number of babies that die between birth and age...
Infant mortality rate is defined as the number of babies that die between birth and age 1 per 1000 live births. For example, an infant mortality rate of 23.4 means that for every 1000 babies born 23.4 will die before age 1. We are using rates in this project because it allows us to compare regions with different population sizes. 1.Provide descriptive statistics (Mean, median, variance, standard deviation, and the five number summary) for infant mortalityrate for each region. 2....
nfant mortality rate is defined as the number of babies that die between birth and age...
nfant mortality rate is defined as the number of babies that die between birth and age 1 per 1000 live births. For example, an infant mortality rate of 23.4 means that for every 1000 babies born 23.4 will die before age 1. We are using rates in this project because it allows us to compare regions with different population sizes. 1. Provide descriptive statistics (Mean, median, variance, standard deviation, and the five number summary) for infant mortality rate for each...
In 2010, the U.S. population was about 309 million. The overall birth rate was 13.0 births...
In 2010, the U.S. population was about 309 million. The overall birth rate was 13.0 births per 1000, and the overall death rate was 7.4 deaths per 1000. a) Approximately how many births were there in the United States? b) About how many deaths were there in the United States? c) Based on births and deaths alone (not counting immigration or emigration), about how much did the U.S. population increase during 2010? d) Suppose that during 2010 the U.S. population...
In 2010, the U.S. population was about 309 million. The overall birth rate was 13.0 births...
In 2010, the U.S. population was about 309 million. The overall birth rate was 13.0 births per 1000, and the overall death rate was 7.4 deaths per 1000. a) Approximately how many births were there in the United States? b) About how many deaths were there in the United States? c) Based on births and deaths alone (not counting immigration or emigration), about how much did the U.S. population increase during 2010? d) Suppose that during 2010 the U.S. population...
2. [20] A population of Ladon dragons has a birth rate of 3.3 individuals / (individuals...
2. [20] A population of Ladon dragons has a birth rate of 3.3 individuals / (individuals x year) and a death rate of 3.2 individuals / (individuals x year). (a) What is r? (b) Based on your answer from part a, is the population growing, declining, or remaining constant? (c) Assuming exponential growth, how many years are necessary for the population to double? (d) On the Wondering Rock Mountain, the population is presently 49. What will the population be in...
You are studying a density-dependent elephant population that has the following relationships for the birth rate...
You are studying a density-dependent elephant population that has the following relationships for the birth rate (b) and the death rate (d), as functions of N. b=0.10+0.03N-0.0005N^2 d=0.20+0.01N Plot these functions on the same graph (on a separate page). Using Excel can help you with this: plug into the equation a range of numbers for N from 1 to 60 or so elephants. How many equilibrium points are shown by your graph? You do not have to calculate the values...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT