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

Transient Population in C++ Populations are effected by the birth and death rate

ID: 3869432 • Letter: T

Question

Transient Population in C++

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.".

Expected Output:

Explanation / Answer

#include<iostream>
using namespace std;
//Main method definition
int main()
{
//P for present population
//BP for birth percentage
//DP for death percentage
//A for arrival
//M for leave
//N for new population
//Y for number of years
int P, BP, DP, A, M, N, Y;
cout<<" This program calculates population change";
//Validates present population
do
{
//Accepts present population
cout<<" Enter the starting population size: ";
cin>>P;
//If it is 2 or more then break
if(P >= 2)
break;
//Otherwise display the error message and ask to re-enter
else
{
cout<<" Starting population must be 2 or more.";
cout<<" Invalid Population. Please re-enter:";
}//End of else
}while(1);
//Validates annual birth percentage
do
{
//Accepts birth percentage
cout<<" Enter the annual birth rate (as % of current population): ";
cin>>BP;
//If it is greater than zero then break
if(BP > 0)
break;
//Otherwise display the error message and ask to re-enter
else
{
cout<<" Birth rate percent cannot be negative.";
cout<<" Invalid Birth rate percentage. Please re-enter:";
}//End of else
}while(1);
//Validates annual death percentage
do
{
//Accepts death percentage
cout<<" Enter the annual death rate (as % of current population): ";
cin>>DP;
//If it is greater than zero then break
if(DP > 0)
break;
//Otherwise display the error message and ask to re-enter
else
{
cout<<" Death rate percent cannot be negative.";
cout<<" Invalid Death rate percentage. Please re-enter:";
}//End of else
}while(1);
//Validates individuals arrives
do
{
//Accepts people arrive
cout<<" How many individuals move into the area each year? ";
cin>>A;
//If it is greater than zero then break
if(A > 0)
break;
//Otherwise display the error message and ask to re-enter
else
{
cout<<" Arrivals cannot be negative.";
cout<<" Invalid Arrivals. Please re-enter:";
}//End of else
}while(1);
//Validates people leave
do
{
//Accepts people leave
cout<<" How many individuals leave the area each year? ";
cin>>M;
//If it is greater than zero then break
if(M > 0)
break;
//Otherwise display the error message and ask to re-enter
else
{
cout<<" Departures cannot be negative.";
cout<<" Invalid Departures. Please re-enter:";
}//End of else
}while(1);
//Validates number of years
do
{
//Accepts number of years
cout<<" For how many years do you wish to view population changes? ";
cin>>Y;
//If it is greater than or equals to one then break
if(Y >= 1)
break;
//Otherwise display the error message and ask to re-enter
else
{
cout<<" Years must be one or more.";
cout<<" Invalid Years. Please re-enter:";
}//End of else
}while(1);
//Displays starting population
cout<<"Starting population: "<<P;
//Loops till number of years
for(int c = 1; c <= Y; c++)
{
//Calculates present population
N = P + (P * BP / 100) - (P * DP / 100) + A - M;
//Displays present population
cout<<" Population at the end of year "<<c<<" is "<<N;
//Current population become earlier population for next year
P = N;
}//End of for loop
}//End of main

Sample Run 1:


This program calculates population change
Enter the starting population size: 100

Enter the annual birth rate (as % of current population): 3

Enter the annual death rate (as % of current population): 3

How many individuals move into the area each year? 10

How many individuals leave the area each year? 20

For how many years do you wish to view population changes? 5
Starting population: 100
Population at the end of year 1 is 90
Population at the end of year 2 is 80
Population at the end of year 3 is 70
Population at the end of year 4 is 60
Population at the end of year 5 is 50

Sample Run 2:


This program calculates population change
Enter the starting population size: 200

Enter the annual birth rate (as % of current population): 5

Enter the annual death rate (as % of current population): 4

How many individuals move into the area each year? 10

How many individuals leave the area each year? 5

For how many years do you wish to view population changes? 6
Starting population: 200
Population at the end of year 1 is 207
Population at the end of year 2 is 214
Population at the end of year 3 is 221
Population at the end of year 4 is 229
Population at the end of year 5 is 236
Population at the end of year 6 is 243

Sample Run 3:


This program calculates population change
Enter the starting population size: 1

Starting population must be 2 or more.
Invalid Population. Please re-enter:
Enter the starting population size: 200

Enter the annual birth rate (as % of current population): -1

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

Enter the annual death rate (as % of current population): -6

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

How many individuals move into the area each year? -7

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

How many individuals leave the area each year? -10

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

For how many years do you wish to view population changes? 0

Years must be one or more.
Invalid Years. Please re-enter:
For how many years do you wish to view population changes? 8
Starting population: 200
Population at the end of year 1 is 252
Population at the end of year 2 is 304
Population at the end of year 3 is 357
Population at the end of year 4 is 410
Population at the end of year 5 is 464
Population at the end of year 6 is 519
Population at the end of year 7 is 574
Population at the end of year 8 is 630

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote