Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

HELP ME WITH MY CODE FOR C++: Transient Population Populations are effected by t

ID: 3865725 • Letter: H

Question

HELP ME WITH MY CODE FOR C++: 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).

The expect OUTPUT Result is:

This·program·calculates·population·change.

Enter·the·starting·population·size:·Starting·population·must·be·2·or·more.

Please·re-enter:·Enter·the·annual·birth·rate·(as·%·of·current·population):·Birth·rate·percent·cannot·be·negative.

Please·re-enter:·Enter·the·annual·death·rate·(as·%·of·current·population):·Death·rate·percent·cannot·be·negative.

Please·re-enter:·Death·rate·percent·cannot·be·negative.

Please·re-enter:·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 Years·must·be·one·or·more.

Please·re-enter:·Years·must·be·one·or·more.

Please·re-enter:·Years·must·be·one·or·more.

Please·re-enter:·

Starting·population:·100

Population·at·the·end·of·year·1·is·90.

Population·at·the·end·of·year·2·is·81.

Population·at·the·end·of·year·3·is·72.

My OUTPUT with my code results me:

This·program·calculates·population·change.

Enter·the·starting·population·size:·Starting·population·must·be·2·or·more.

Please·re-enter:·Enter·the·annual·birth·rate·(as·%·of·current·population):·Birth·rate·percent·cannot·be·negative.

Please·re-enter:·Enter·the·annual·death·rate·(as·%·of·current·population):·Death·rate·percent·cannot·be·negative.

Please·re-enter:·Death·rate·percent·cannot·be·negative.

Please·re-enter:·How·many·individuals·move·into·the·area·each·year?·Arrivals·cannot·be·negative.

Please·re-enter:·How·many·individuals·leave·the·area·each·year?·Departures·cannot·be·negative.

Please·re-enter:·Departures·cannot·be·negative. Please·re-enter:·Departures·cannot·be·negative.

Please·re-enter:·For·how·many·years·do·you·wish·to·view·population·changes?·Years·must·be·one·or·more.

Please·re-enter:·Years·must·be·one·or·more. Please·re-enter:·

Starting·population:·100

Population·at·the·end·of·year·1·is·103.

My C++ code:

#include <iostream>
#include <string>
using namespace std;

double populationChange(double, double, double, int, int);
double readValue(double, string, string);

int main()
{
double P;
int nYears,A,M;
double BP, DP;

cout << "This program calculates population change. ";
P = readValue(2,
      "Enter the starting population size: ",
      "Starting population must be 2 or more.");
BP = readValue(0.0,
       "Enter the annual birth rate (as % of current population): ",
       "Birth rate percent cannot be negative.");
DP = readValue(0.0,
       "Enter the annual death rate (as % of current population): ",
       "Death rate percent cannot be negative.");
A = readValue(0,
      "How many individuals move into the area each year? ",
      "Arrivals cannot be negative.");
M = readValue(0,
      "How many individuals leave the area each year? ",
      "Departures cannot be negative.");
nYears = readValue(1,
        "For how many years do you wish to view population changes? ",
        "Years must be one or more.");
        cout << " Starting population: " << P << endl<<endl;
        for (int y = 1; y <= nYears; y++)
        {
         P = populationChange(P, BP, DP, A,M);
         cout << "Population at the end of year " << y << " is " << (int)P <<"."<<endl;
        }
        return 0;
        }
        double populationChange(double P, double BP, double DP, int A, int M)
        {
         double N = P + ((BP * P) / 100) - ((DP * P) / 100) + A - M;
         return N;
        }
        double readValue(double minValue, string prompt, string inputError)
        {
         double input;
         cout << prompt;
         do
         {
          cin >> input;
          if (input < minValue)
           cout << inputError << " Please re-enter: ";
         }
         while (input < minValue);
         return input;
        }

Where is my error?

Explanation / Answer

// Your Code is correct .

#include <iostream>
#include <string>
using namespace std;
double populationChange(double, double, double, int, int);
double readValue(double, string, string);
int main()
{
double P;
int nYears,A,M;
double BP, DP;

cout << "This program calculates population change. ";
P = readValue(2,
"Enter the starting population size: ",
"Starting population must be 2 or more.");
BP = readValue(0.0,
"Enter the annual birth rate (as % of current population): ",
"Birth rate percent cannot be negative.");
DP = readValue(0.0,
"Enter the annual death rate (as % of current population): ",
"Death rate percent cannot be negative.");
A = readValue(0,
"How many individuals move into the area each year? ",
"Arrivals cannot be negative.");
M = readValue(0,
"How many individuals leave the area each year? ",
"Departures cannot be negative.");
nYears = readValue(1,
"For how many years do you wish to view population changes? ",
"Years must be one or more.");
cout << " Starting population: " << P << endl<<endl;
for (int y = 1; y <= nYears; y++)
{
P = populationChange(P, BP, DP, A,M);
cout << "Population at the end of year " << y << " is " << P <<"."<<endl;
}
return 0;
}
double populationChange(double P, double BP, double DP, int A, int M)
{
double N = P + ((BP * P) / 100) - ((DP * P) / 100) + A - M;
return N;
}
double readValue(double minValue, string prompt, string inputError)
{
double input;
cout << prompt;
do
{
cin >> input;
if (input < minValue)
cout << inputError << " Please re-enter: ";
}
while (input < minValue);
return input;
}