=
CS 112 - Week 2 Lecture 1 - 2022-08-30
TODAY WE WILL:
* announcements
* more C++ review/overview - hopefully including
at least:
* branching!
* repetition!
* prep for next class
* if desired:
we are pulling from Savitch Chapters 1-5
and the first part of Savitch Chapter 12
=====
* we have letter_match from last week...
I now want to write a function
letter_elsewhere
* I've thought about the data
(I can still use string and char and int
types just fine here)
* signature:
/*=====
signature: letter_elsewhere:
string string int -> bool
* purpose:
purpose: expects the word of the day,
the guessed word, and (zero-based)
desired position within the guessed
word, and returns whether the leter
at that position in the guessed word
is in the word of the day, BUT at
a DIFFERENT position
* function header:
bool letter_elsewhere(string word_of_day,
string word_guess,
int pos)
=====
C++ if statement
=====
simplest form:
if (bool_expr)
statement;
* several additions:
* in C++, a block
{
...
...
}
is considered a single statement.
* SO, this is fine:
if (bool_expr)
{
statement;
statement;
...
}
* optionally, an if may have an else clause:
if (bool_expr)
statement1;
else
statement2;
* (and either or both of those statements
may be blocks)
* consider:
if (bool_expr)
statment1;
else
if (bool_expr2)
statement2;
else
if (bool_expr3)
statement 3;
this is also considered (CS112) reasonable, style-wise:
if (bool_expr)
statment1;
else if (bool_expr2)
statement2;
else if (bool_expr3)
statement 3;
* YES it is GREAT, style-wise, to just always put
a block after if, else! 8-)
remember - CS 112 CLASS STYLE for blocks:
* { and } are on their own line,
* and lined up with the if or else,
* and statements within indented by at least 3
spaces
=====
a few C++ loops
=====
while (bool_expr)
statement;
* and that statement is almost always a block...!
// "classic" for loop
for (init_part; bool_expr; update_part)
statement;
// "foreach-style" for loop
for (type name: my_collection)
statement;
for (char letter: user_entry)
{
cout << letter << endl;
}
* see completed letter_elsewhere.cpp
along with these notes --
we'll make its .h and testing main
files, and compile, link, load, and test
it, on Thursday