Getting started

Refer to Lab 1 if you need a reminder about how to start Cygwin Terminal or Notepad++.

Start by downloading CS101_Lab09.zip, saving it in the directory H:\CS101.

Start a Cygwin Terminal and run the following commands:

cd h:
cd CS101
unzip CS101_Lab09.zip
cd CS101_Lab09

Using Notepad++, open the file

H:\CS101\CS101_Lab09\BarGraph.cpp

Design notes

When you create your design artifact for this lab, you should create two control flow sketches:

Each control flow sketch should be in pseudo code: see Lab 5 for a discussion of what pseudo code should look like.

Your task

Write a program that prompts the user to draw one or more bars of a bar graph.

To draw each bar, the program should prompt the user for a length, and then draw a bar with that many equals (“=”) characters.  After drawing each bar, the program should ask whether or not to continue, and read a single input character.  If the user enters a ‘Y’ or ‘y’ character, then the program should continue.  If the user enters any other character, the program should finish.

Example of running the program (user input in bold):

length? 20
====================
another? y
length? 65
=================================================================
another? y
length? 51
===================================================
another? n

Hints

You will need nested loops.  The outer loop will have the code to prompt for and draw a single bar.  The inner loop will draw each character in a single bar.

For each loop, you will need to choose between a while and a do/while loop.  The rule is that if the loop should be able to execute 0 times, it should be a while.  If it must be guaranteed to execute at least once, it should be a do/while.

You should start with a program that prompts for and draws a single bar.  That code will then become the body of the outer loop that draws however many bars the user requests.

You can use the following code to read a single character from the user and check whether it is “Y” or “y”:

char answer;
scanf(" %c", &answer);
if (answer == 'Y' || answer == 'y') {
    // user entered "Y" or "y"
} else {
    // user entered some other character
}

Note that in the call to scanf there is a space before the %c.

Submit

Upload your submissions in Canvas. Important: It is your responsibility to verify that you submitted the correct files. You may receive a grade of 0 for incorrectly submitted work. </div>