(
Latest Revision:
04/17/2011
)
FIFTH CS 1500 SOLO PROGRAM: Laying Tile
OBJECTIVE:
The purpose of this programming assignment is to get more
practice writing and using loops.
THE ASSIGNMENT:
Your assignment is to write a program that "makes a tile floor"
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 floor, 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 tile floor" having the dimensions given by the user.
Look at the
sample runs
of my solution program to see what the appearance the tile floor must
be.
For this exercise, your output must be just like the output of the sample. In
particular, your tiles must be the same size and shape as the
tiles in the sample, and your floors must contain single layers of
grout in the appropriate locations just as the sample shows. Also,
your floors are not allowed to have grout anywhere on the
periphery. (The periphery is the top, bottom, and the sides of the
display on the screen.)
THE DESIGN OF THE PROGRAM:
If you wish, you may use
this structure chart
as a guideline 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
checksLev4.cpp,
to see C++ code with some similarities to the code you need to write.
PITFALL:
The pattern in the tiles contains backslashes. Remember that you have to
escape backslashes. 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 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:
- Always send me e-mail as plain text in the main message body.
Never send me attachments.
- Always use the exact subject line I specify for each
message. (I often get hundreds of e-mail messages in a week. The
subject line allows me to find and sort messages.) You will lose a
significant number of points on the assignment if you use the wrong
subject line.
- Be very careful when you send the e-mail. You may use the
instructions in your
Hello World! lab excercise
for guidance. Of course, you will need to make the obvious changes to
those directions -- you have to use the correct subject line and
filename.
- Always send yourself a copy of each e-mail message you send to me,
check immediately to see if you receive the message intact, and
check within a few minutes to see if you have received e-mail notifiying
you about an undeliverable message. You are
responsible for sending e-mail correctly.
Here is the list of things you have to turn in:
- At the start of class on the
due date
place the following item on the "counter" in front of me:
- a hardcopy (printed listing) of your program (the C++
source code). Make sure all the code is properly
formatted and that it all shows on the paper.
- Before midnight on the the due
date send me the following by e-mail:
- A copy of the source code (C++ code) with subject line:
CS1500Solo5Source
- a (filtered) script, with subject line:
CS1500Solo5Script
showing the results of several runs of the program illustrating:
- its results on all appropriate boundary values,
- its results on a representative sample of inputs that are "out
of bounds," and
- its results on a representative sample of inputs that are well
within bounds.
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.)