subject

Write a program that produces a bar chart showing the population growth of Prairieville, a small town in the Midwest, at 20-year intervals during the past 100 years. The program should read in the population figures for 1900, 1920, 1940, 1960, 1980, and 2000 from a file named People. txt. It is understood that the first value represents the population in 1900 (for example, 2843), the second the population in 1920 and so on. For each year it should display the year, followed by one space followed by a bar consisting of one asterisk for each 1,000 people. (The program should round UP so that a population of 1 would generate one asterisk -- as would 1000, while a population of 1,001 would generate two, etc.)

Prompts And Output Labels. The program is not interactive so there are no prompts. The first line of the output should be
PRAIRIEVILLE POPULATION GROWTH
and the second line of the output should be
(each * represents 1000 people)
after which the main output follows.

Input Validation. The program should validate each population count read. If the population is ever negative, the program should print the message "BAD DATA" on a line by itself and not process any more data.

Here is what I have so far..

code:

#include
#include
using namespace std;

int main()
{
ifstream Inputfile;
Inputfile. open("people. dat"); // Open file
if (!Inputfile) // Test for open errors
cout << "Error opening file.\n";

int Pop; // Population

// Display Population Bar Chart Header
cout << "PRAIRIEVILLE POPULATION GROWTH\n"
<< "(each * represents 1000 people)\n";

for (int Year = 1; Year <= 6; Year++)
{ // One iteration per year
switch (Year)
{
case 1 : cout << "1900 ";
break;
case 2 : cout << "1920 ";
break;
case 3 : cout << "1940 ";
break;
case 4 : cout << "1960 ";
break;
case 5 : cout << "1980 ";
break;
case 6 : cout << "2000 ";
break;
}

Inputfile >> Pop; // Read from file

Pop /= 1000; // calculate one per 1000 people

for (int Arisk = 1; Arisk <= Pop; Arisk++)
{ // Display one asterisk per iteration
// One iteration per 1000 people
cout << "*";
}

cout << endl;
}
Inputfile. close(); // To close file
return 0;
}

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 22:40
Write an assembly program with the following specifications.a). in the main block, you should have two registers r4 and r5. they should be checked in an infinite loop. if r4 is greater than r5, then the greater subroutine will be called. if r4 is less than r5, then the less subroutine will be called. if r4 equals r5, then no operations will be done
Answers: 1
question
Computers and Technology, 23.06.2019 03:00
State 7 common key's for every keyboard
Answers: 1
question
Computers and Technology, 23.06.2019 18:30
How often does colleges update the cost of attendance on their website? . a)every two years b) every four years c) every year d) every semester
Answers: 1
question
Computers and Technology, 24.06.2019 00:40
To maintain clarity and focus lighting might be needed
Answers: 2
You know the right answer?
Write a program that produces a bar chart showing the population growth of Prairieville, a small tow...
Questions
question
Mathematics, 07.04.2020 03:05
question
English, 07.04.2020 03:05
question
History, 07.04.2020 03:05
question
Mathematics, 07.04.2020 03:05
Questions on the website: 13722362