fork download
  1. // Marvyn Jesse De La Torre CS1A Chapter 6, p. 374, #16
  2. //
  3. /*************************************************************************
  4.  * PROJECT TRANSIENT POPULATION
  5.  * This program projects population changes over a number of years.
  6.  *
  7.  * INPUT
  8.  * Starting population, birth rate, death rate, arrivals, departures,
  9.  * and number of years
  10.  *
  11.  * OUTPUT
  12.  * Projected population for each year
  13.  *************************************************************************/
  14.  
  15. #include <iomanip>
  16. #include <iostream>
  17. using namespace std;
  18.  
  19. // Function Prototype
  20. double calculatePopulation(double population, double birthRate,
  21. double deathRate, int arrivals, int departures);
  22.  
  23. int main()
  24. {
  25. int startingPopulation;
  26. double birthRate, deathRate, population;
  27. int arrivals, departures, years;
  28.  
  29. // Get Population Information
  30. cout << "Starting population: ";
  31. cin >> startingPopulation;
  32.  
  33. cout << "Annual birth rate (percent): ";
  34. cin >> birthRate;
  35.  
  36. cout << "Annual death rate (percent): ";
  37. cin >> deathRate;
  38.  
  39. cout << "People moving into the area each year: ";
  40. cin >> arrivals;
  41.  
  42. cout << "People leaving the area each year: ";
  43. cin >> departures;
  44.  
  45. cout << "Number of years to project: ";
  46. cin >> years;
  47.  
  48. population = startingPopulation;
  49.  
  50. // Display Population Projection
  51. cout << "\nYEAR\tPROJECTED POPULATION" << endl;
  52. cout << "---------------------------" << endl;
  53.  
  54. for (int year = 1; year <= years; year++)
  55. {
  56. population = calculatePopulation(population, birthRate, deathRate,
  57. arrivals, departures);
  58.  
  59. cout << year << "\t" << population << endl;
  60. }
  61.  
  62. return 0;
  63. }
  64.  
  65. /*************************************************************************
  66.  * calculatePopulation
  67.  * Returns the population after one year.
  68.  *************************************************************************/
  69. double calculatePopulation(double population, double birthRate,
  70. double deathRate, int arrivals, int departures)
  71. {
  72. double births = population * (birthRate / 100.0);
  73. double deaths = population * (deathRate / 100.0);
  74.  
  75. return population + births - deaths + arrivals - departures;
  76. }
Success #stdin #stdout 0.01s 5320KB
stdin
1000 10 0 0 0 3
stdout
Starting population: Annual birth rate (percent): Annual death rate (percent): People moving into the area each year: People leaving the area each year: Number of years to project: 
YEAR	PROJECTED POPULATION
---------------------------
1	1100
2	1210
3	1331