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

Programming Problem 2 in c++ This program is designed to analyze the growth of t

ID: 665892 • Letter: P

Question

Programming Problem 2

in c++

This program is designed to analyze the growth of two cities. Each city has a starting population and annual growth rate. The smaller city has the larger growth rate (required). Show the comparative populations of each city year by year until the smaller city has grown larger than the bigger city.

As an example, Dogville has a population of 5000 growing at 20% annually while Cattown has a population of 7000 growing at 10% annually. The projected populations are:

            Year    Dogville          Cattown

            1          6000                7700

            2          7200                8470

            3          8640                9317

            4          10368              10249

1. Identify the inputs and outputs of the problem.

2. Identify the processing needed to convert the inputs to the outputs.

3. Design an algorithm in pseudocode to solve the problem. Make sure to include steps to get each input and to report each output.

4. Identify three significant test cases including one for incorrect input (ie Small town has lower growth rate). For each of the three test cases show what inputs you will use and calculate what your expected outputs should be.

5. Write the program to implement your algorithm. Test your program using your test cases.

Explanation / Answer

1. Identify the inputs and outputs of the problem

Inputs

Enter population of Dogville: 6000

Enter growth rate of Dogville: 20

Enter population of Cattown: 7200

Enter growth rate of Cattown: 10     

3. ALGORITHM

REPEAT

      OUTPUT year Dogville    Cattown?'

      INPUT Enter population of DOGVILLE

      STORE the user's input in the answer variable

      IF answer = 'DOGVILLE' THEN

            OUTPUT 'Of DOGVILLE it is!'

      ELSE

            OUTPUT 'Try again!'

      UNTIL answer = '1 6000 7700'

4.Testing:

UNIT TESTING
SYSTEM TESTING

PERFORMANCE TESTING

Test case:

            In entering the incorrect input

Enter the intial population of Dogville: 5000

Enter the intial growth rate of Dogville: 10

Enter the intial population of Cattown: 6000

Enter the intial growth rate of Cattown: 25

year     Dogville          Cattown

1          5500                7500

2          6050                9375

3          6655                11718

Expected output:

            Year    Dogville          Cattown

            1          6000                7700

            2          7200                8470

5.

PROGRAM

#include <iostream>

using namespace std;

int main()//MAIN METHOD

{

int pop15,pop20;//INTEGER DECLARATION

double rateA,rateB;

int years=0;

cout<<"Enter the intial population of Dogville: ";

cin>>pop15;

cout<<"Enter the intial growth rate of Dogville: ";

cin>>rateA;

cout<<"Enter the intial population of Cattown: ";

cin>>pop20;

cout<<"Enter the intial growth rate of Cattown: ";

cin>>rateB;

rateA/=100.;

rateB/=100.;

cout<<"year Dogville Cattown ";

while(pop15<pop20)//LOOP STARTS

{

     pop15=(int)(pop15*rateA+pop15);

     pop20=(int)(pop20*rateB+pop20);

     years++;

     cout<<years<<" "<<pop15<<" "<<pop20<<endl;

}

     system("pause");

     return 0;

}