- Save a copy of the file lab01.cpp.html which is available here. Save it as a file in your home
directory. Give the file this name: lab01.cpp. Be sure
to give it exactly that name -- it's important. (In "lab01" the
characters "01" are the digits for zero and one.) To make a copy of the
file you just display it in the web browser, copy it to the clipboard,
paste it into an editor window, and then save the file.
- Compile, link, and execute lab01.cpp. For help with this step
you may refer to the example commands and discussion under "Compiling and
Linking" and "Checking for Errors and Executing the Program" in the
"Hello World!"
assignment.
- The comment:
// Program to print song lyrics
at the beginning of your program is called a program
header comment. Add your name(s) and the date to that
header comment and re-format it like this header comment is
formatted:
/*
Program to print song lyrics
Programmers: Donny Dunn & Brenda Brady
Date: December 6, 1971
*/
Please Note: I'm asking that you duplicate the form above, but use your
real name(s) and the actual date.
Next, re-run the program -- in other words:
- Save the file.
- Compile and link the program again.
- Execute the program again.
- Did the output change? In other words, was the output different this
time from the first time you ran the program?
- Why or why not?
Open a new editor file for your notes. For example, you could do the command
"jove notes.txt" at the command line to create a new file for notes.
At the top of the file, type your name and the name(s) of your lab partner(s).
Then type the two questions above, and the answers.
(You will have to turn in a copy of your note file as part
of this assignment.)
- Change the first line of the header comment so it says the
following:
Program to print song lyrics "Baneasa's Green Glade"
Re-run the program (as defined above). Did the output change? Why or
why not? Like you did before, put the two questions and your answers in
your note file.
- In the first output statement, change
"In banana's great harvest over the seas\n"
to
"In Baneasa's green forest out under the trees\n"
In the second output statement, change
"We'd hide by the tracks from exorbitant fees."
to
"We'd lie on our backs, we'd live at our ease."
In the third output statement, change
"We'd bake while adorning our earlobes with clay\n"
to
"We'd wake in the morning at the first shafts of day\n"
In the fourth output statement, change
"and hatch lots of spiders in campers each day."
to
"And watch the shy deer as they scampered away."
Re-run the program. Did the output change? How? Like you did before,
put the two questions and your answers in your note file.
- Add another output statement at the begining of main that
displays the title:
Baneasa's Green Glade
Make sure to indent the output statement properly - like the lines
of code that are already in the program.
Write the output statement so that a few blank spaces will be printed
before the title, and a blank line before the words of the song. Re-run
the program to make sure your changes do what they are supposed to
do.
- Add other output statements so that when you run the program
the display will be:
Baneasa's Green Glade
In Baneasa's green forest out under the trees
We'd lie on our backs, we'd live at our ease.
We'd wake in the morning at the first shafts of day
And watch the shy deer as they scampered away.
As you are formatting your program statements, continue to preserve the
proper indentation pattern. Also, keep in mind this piece of advice
from our text: "You should not break a quoted string across two lines ...
."
For example, you should not write a statement this way:
cout << "In Baneasa's green forest
out under the trees\n" ;
Because it would break the quoted string "In Baneasa's green forest out under
the trees,\n" across two lines in the C++ program.
- Add more output statements to display the remaining verses, separated as
shown by blank lines:
We'd rise from our warm beds as the sun it got higher
And cook up our breakfast on a sweet scented fire.
In the still early morning, a cool gentle breeze,
The echo of woodpeckers rings through the trees.
We'd sit in our glade till the heat of the day,
Walk down to the zoo to sing and to play.
Well the money rolled in and the people looked on
When the hat was quite full we'd up and be gone.
In Dimbovitsas tavern we spent money free
And drank to our friends where'er they may be.
We'd talk of old times and fond memories we'd trade,
And at dusk we'd walk home to Baneasa's Green Glade.
(Notice that you can save a lot of time by doing some copy/paste
operations.)
- Re-run the program. The output should look like this:
Baneasa's Green Glade
In Baneasa's green forest out under the trees
We'd lie on our backs, we'd live at our ease.
We'd wake in the morning at the first shafts of day
And watch the shy deer as they scampered away.
We'd rise from our warm beds as the sun it got higher
And cook up our breakfast on a sweet scented fire.
In the still early morning, a cool gentle breeze,
The echo of woodpeckers rings through the trees.
We'd sit in our glade till the heat of the day,
Walk down to the zoo to sing and to play.
Well the money rolled in and the people looked on
When the hat was quite full we'd up and be gone.
In Dimbovitsas tavern we spent money free
And drank to our friends where'er they may be.
We'd talk of old times and fond memories we'd trade,
And at dusk we'd walk home to Baneasa's Green Glade.
The output must include a blank line before the title, and a
blank line after the last line of text. If necessary debug the program
until it is working properly.
If there are not too many people waiting now for output from the printer,
print the code of the program (this is called a listing) with the
command:
lp lab01.cpp
Above,
- lp is the print command -- lp stands for "line printer."
- The lab01.cpp is the name of the file you are printing.
If lots of people are waiting for printouts, you can postpone printing
for a while, but you must turn in printouts no later than the beginning
of the next meeting of the class -- two days from now.
E-mail me a copy of your source code, using this command:
mail -s "Lab #01 Source Code" john@ishi.csustan.edu < lab01.cpp
Next make a script of a run of the program. Make the script in the
manner you did in the step entitled "Making a Record of a Program Run" in
the
"Hello World!"
assignment.
Remember to perform the steps to filter the "weird" characters out of the
script. The procedure for filtering a script is described in the directions for the
"Hello World!"
assignment.
When you can, print the script with an "lp" command similar to the one
illustrated above. (It's an exercise for you to figure out the exact
form the command should have.)
E-mail me a copy of your script, using an e-mail command similar
to the one above (with the necessary changes made, of course).
Use this subject line:
Lab #01 Script
Also print a copy of your lab notes with an "lp" command. (Figure out the
exact form the command should have.)
Also e-mail me a copy of your lab notes, using this subject line:
Lab #01 Notes
That's all for now. If you've done all the steps above, you can leave.
Have a good day.
Retrieve your printouts from the printer. To avoid damaging the
printer, be especially careful to read and follow the
directions on the printer!
After removing your output from the printer, separate the sides from the
paper along the perforations. This is called bursting.
Write the names of both (all) lab team members on each
printout. Bring the printouts to me on the due date. Check
the class schedule
for the due date.
Notice that I've given you a couple of extra days to finish making the
printouts. This is so the entire class does not have to feel obligated
to queue up by the printers at the end of the lab time, and wait for an
extended period of time for the print jobs to complete.
On the other hand, it does mean that people may have to return to the lab
later to complete the assignment.