(This assignment is adapted from one that appears in A Computer Science Tapestry by Owen Astrachan)

( Latest Revision: October 19, 2016 )

THIRD CS 1500 SOLO PROGRAM
Column of Birds Assignment: Writing A Simple Loop and Some Functions


OBJECTIVE:

The purpose of this programming assignment is to give you practice writing and using loops in your programs.


THE ASSIGNMENT:

Simply stated, your assignment is to write a program that gets an integer N from the user and then draws a column containing N ascii bird figures.


INPUT, OUTPUT, AND PROCESSING:

The program must begin by writing some information explaining the purpose of the program and a general description of how to use the program.

The program must then prompt for and read the number N.

After getting N, the program must do some error-checking. If N is not between 1 and 7, inclusive, then the program must output an appropriate error message and stop. If N is within the legal range, then the program must draw a 'column' containing N ascii bird figure(s), and certain other lines, made either of exclamation points, @-signs, or equal signs. (See the sample outputs to determine exactly what the program output needs to be. The output of your program has to be exactly like the sample output.)


EXAMPLE OUTPUT:

Examine the sample script to see how the output of the program should be.


DESIGN:

I have prepared a skeleton program that you should use as a starting point for your solution to this programming problem.

The skeleton has four functions to fill in, including the main() function. You can create a program with a good design if you follow the directions found inside the skeleton.

You can examine this program and this script to get more hints about how your finished program should look.

Be sure to attend class to get additional information that will help you with this assignment.


TESTING:

I expect you to make a test script for the program that shows good data coverage. It won't be enough just to duplicate the tests in the sample script. The boundary data values for input to this program are 1 and 7. It's important to test programs to make sure they work correctly when inputs are on or near boundaries. Also, there are different error messages and those have to be tested.

So test at least one negative input value, and test the boundaries by trying 0, 1, 7, and 8 as possible inputs.

Also try at least one ordinary, average kind of input, like 3, 4, or 5.

You will lose significant credit if you do not perform adequate testing.


WHAT TO TURN IN:

You will be sending me two e-mail messages. Please follow these rules: Here is the list of things that you have to turn in: Note that there are no spaces in the subject lines given. It is important that you do not insert any spaces. My e-mail address is:

john@ishi.csustan.edu



WHEN IS THIS ASSIGNMENT DUE?

Look for the due date in the class schedule. (It's at the top level of the class directory.)