C++ Solutions
Here are some solutions. THESE ARE NOT THE ONLY SOLUTIONS.
1. DOWHILE
int number_in, VARIABLES USED
sum = 0;
- - - - - - - - - - - - - -
do
{
cin >> number_in; TEST VARIABLE = VALUE
sum = sum + number_in;
}
while (number_in != 0); CONDITION
cout << "sum is " << sum;
NOTE: This dowhile only works because the end marker is zero. See #2.
WHILE
int number_in, VARIABLES USED
sum = 0;
- - - - - - - - - - - - - - - -
cin >> number_in; TEST VARIABLE = VALUE
while (number_in != 0) CONDITION
{
sum = sum + number_in;
cin >> number_in; TEST VARIABLE = NEW VALUE
}
cout << "sum is " << sum;
2. DOWHILE
int number_in,
sum = 0;
- - - - - - - - - - - - - - -
do
{
cin >> number_in;
if (number_in == -1) NEED TO BREAK OUT BEFORE
{ ADDING IN THE END MARKER
break;
}
sum = sum + number_in;
}
while (1);
cout << "sum is " << sum;
NOTE: This dowhile needed an extra if structure.
WHILE
int number_in,
sum = 0;
- - - - - - - - - - - - -
cin >> number_in;
while (number_in != -1)
{
sum = sum + number_in;
cin >> number_in;
}
cout << "sum is " << sum;
but the while structure is the same as in #1.
3a. DOWHILE
string str1;
- - - - - - - - - - - - - - - - - - - - - -
do
{
cin >> str1; TEST VARIABLE = VALUE
cout << "you have entered " << str1;
}
while (str1 != "EXIT" &&
str1 != "Exit" && CONDITION
str1 != "exit");
WHILE
string str1; - - - - - - - - - - - - - - - - - - - - - - cin >> str1; TEST VARIABLE = VALUE while (!StringEqual(str1,"EXIT") && !StringEqual(str1,"Exit") && CONDITION !StringEqual(str1,"exit")) { cout << "you have entered " << str1; cin >> str1; TEST VARIABLE = NEW VALUE } cout << "you have entered " << str1;
3b. DOWHILE
string str1;
- - - - - - - -- - - - - - - - - - - -
do
{
cin >> str1;
if (str1 == "EXIT") ||
str1 == "Exit") ||
str1 == "exit"))
{
break;
}
cout << "you have entered " << str1;
}
while (1);
NOTE the similarity to #2.
WHILE
string str1; - - - - - - - - - - - - - - - - - - - - - - - cin >> str1; while (str1 != "EXIT" && str1 != "Exit" && str1 != "exit") { cout << "you have entered " << str1; cin >> str1; }
4. DOWHILE
int number,
sum = 0;
- - - - - - - - - - - - -
number = 6; INITIAL VALUE IS BEFORE THE LOOP
do
{
sum = sum + number;
number++; TEST VARIABLE = VALUE
}
while (number < 26); CONDITION COULD BE (number <= 25)
cout << "sum is " << sum;
WHILE
int number,
sum = 0;
- - - - - - - - - - - - - - - -
number = 6; TEST VARIABLE = VALUE
while (number < 26) CONDITION
{
sum = sum + number;
number++; TEST VARIABLE = NEW VALUE
}
cout << "sum is " << sum;
5. DOWHILE
int count=0;
double score,
average,
sum = 0.0;
- - - - - - - - - - - - - - - -
do
{
cin >> score;
sum = sum + score;
count++;
}
while (count < 10); NOTE: < NOT <=. WHY?
average = sum / count;
cout << "average is " << average;
WHILE
int count=0;
double score,
average,
sum = 0.0;
- - - - - - - - - - - - - - - -
cin >> score;
while (count < 11) CONDITION COULD BE (count <= 10)
{
sum = sum + score;
count++;
cin >> score;
}
average = sum / count; NOTE: CALCULATED AFTER LOOP
cout << "average is " << average;
6. DOWHILE
int count=0;
double score,
average,
sum = 0.0;
- - - - - - - - - - - - - -
do
{
cin << score;
if (score == -1)
{
break;
}
sum = sum + score;
count++;
}
while (1);
average = sum / count;
cout << "average is " << average;
WHILE
int count=0;
double score,
average,
sum = 0.0;
-- - - - - - - - - - - - - - - --
cin >> score;
while (score != -1)
{
sum = sum + score;
count++;
cin << score;
}
average = sum / count;
cout << "average is " << average;