( Latest Revision: Tue Oct 30, 2012 )

FIFTH CS 1500 SOLO PROGRAM: Tiling


OBJECTIVE: The purpose of this programming assignment is to get more practice doing top down design of programs with if-else logic, loops, and functions.


THE ASSIGNMENT:

The assignment is to write a program that makes a tile pattern for the user.


INPUT:

The program prompts the user for a width and a number of courses. These numbers are the width and length of the pattern, measured in numbers of whole tiles. In this exercise, there will be no provision for partial tile widths or lengths.


OUTPUT:

The program outputs a pattern having the dimensions given by the user. Look at the sample runs of my solution program to see the appearance the output must have.

For this exercise, your output must be just like the output of the sample. In particular, your tiles must be identical in every way to the tiles in the sample.


THE DESIGN OF THE PROGRAM:

If you wish, you may use this program shell as a starter for your program design.

I expect you to employ good principles of top-down design. Substantial credit will be withheld if you do not create a program that uses functions appropriately.

I'll discuss some things in class that I think will help you in your efforts to design a solution to this problem.

Also, you can look at the programs stars.cpp, varStars.cpp, and checks.cpp, to see C++ code with some similarities to the code you need to write.


PITFALL:

ASCII tile patterns may contain backslashes and/or double quotes. Remember that you have to escape backslashes and double quotes. For example, the following line of C++ code:

cout << "\\" ;

outputs one backslash.


FORM AND FORMATTING REQUIREMENTS:

Write appropriate function declaration comments for each of your functions. These are comments placed under each function declaration (prototype) to explain the purpose of the function, and to explain what the function does. Read the comments in the example programs in your book, and write similar comments for your functions.

At the beginning of your program file put a header comment like this:

  /* PROGRAM Tile Floor Maker */

  /*

  Name:          Gordon Goodguy
  User Name:     goodge
  Course:        CS 1500, Computer Programming I
  Instructor:    John Sarraille
  Date:          January 01, 1970

  */
Of course, in place of "Gordon Goodguy," you must put your own full name. In place of "goodge" put your user (login) name. In place of "January 01, 1970" put the date that you finished the program. Note that the comment delimiters /* and */ are important. They need to be placed correctly or you will get compiler errors.


WHAT TO TURN IN:

You will be sending me two e-mail messages. Please follow these rules: Here is the list of things 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.)