Chapter 4 :
(1)
// Exercise 4.5: [Link]
// Calculate the sum of the integers from 1 to 10
#include <iostream>
using namespace std;
int main() {
unsigned int sum=0;
unsigned int x=1;
while (x <= 10) {
sum += x;
++x;
}
cout << "The sum is: " << sum << endl;
cout << "X= " << x << endl;
}
(2)
// Exercise 4.8 Solution: [Link]
// Raise x to the y power.
#include <iostream>
using namespace std;
int main() {
unsigned int i=1;
unsigned int power=1;
cout << "Enter base as an integer: ";
unsigned int x;
cin >> x;
cout << "Enter exponent as an integer: ";
unsigned int y;
cin >> y;
while (i <= y) {
power *= x;
++i;
}
cout << power << endl;
}
(3)
// Exercise 4.12: [Link]
#include <iostream>
using namespace std;
int main() {
unsigned int x=1;
unsigned int total=0;
while (x <= 10) {
int y = x * x;
cout << y << endl;
total += y;
++x;
}
cout << "Total is " << total << endl;
}
(4)
// Fig. 4.17: [Link]
// Prefix increment and postfix increment operators.
#include <iostream>
using namespace std;
int main() {
unsigned int c=5;
cout << "c before postincrement: " << c << endl; // prints 5
cout << "postincrementing c: " << c++ << endl; // prints 5
cout << "c after postincrement: " << c << endl; // prints 6
cout << endl;
c = 5;
cout << " c before preincrement: " << c << endl; // prints 5
cout << " preincrementing c: " << ++c << endl; // prints 6
cout << " c after preincrement: " << c << endl; // prints 6
}
(5)
// Exercise 4.21: [Link]
#include <iostream>
using namespace std;
int main() {
unsigned int count=1;
while (count <= 10) {
cout << (count % 2 == 1 ? "****" : "++++++++") << endl;
++count;
}
}
(6)
// Exercise 4.22: [Link]
#include <iostream>
using namespace std;
int main() {
unsigned int row=10;
while (row >= 1) {
unsigned int column=1;
while (column <= 10) {
cout << (row % 2 == 1 ? "<" : ">");
++column;
}
--row;
cout << endl;
}
}
Chapter 5 :
)1(
// Fig. 5.1: [Link]
// Counter-controlled iteration with the while iteration
statement.
#include <iostream>
using namespace std;
int main() {
unsigned int counter=1;
while (counter <= 10) {
cout << counter << " ";
++counter;
}
cout << endl;
}
)2(
// Fig. 5.2: [Link]
// Counter-controlled iteration with the for iteration
statement.
#include <iostream>
using namespace std;
int main() {
for (int counter=1; counter <= 10; counter++) {
cout << counter << " ";
}
cout << endl;
}
)3(
// Fig. 5.5: [Link]
// Summing integers with the for statement.
#include <iostream>
using namespace std;
int main() {
unsigned int total=0 ;
for (unsigned int number=2; number <= 20; number += 2)
{
total += number;
}
cout << "Sum is " << total << endl;
}
)4(
// Fig. 5.9: [Link]
// do...while iteration statement.
#include <iostream>
using namespace std;
int main() {
unsigned int counter=1;
do {
cout << counter << " ";
++counter;
} while (counter <= 10);
cout << endl;
}
)5(
// Exercise 5.10: [Link]
#include <iostream>
using namespace std;
int main() {
for (int i=1; i <= 10; i++) {
for (int j=1; j <= 5; j++) {
cout << "@";
}
cout << endl;
}
}
)6(
// Fig. 5.11: [Link]
// Using a switch statement to count letter grades.
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int total=0;
unsigned int gradeCounter=0;
unsigned int aCount=0;
unsigned int bCount=0;
unsigned int cCount=0;
unsigned int dCount=0;
unsigned int fCount=0;
cout << "Enter the integer grades in the range 0-100.\n"
<< "Type the end-of-file indicator to terminate input:\n"
<< " On UNIX/Linux/Mac OS X type <Ctrl> d then press Enter\n"
<< " On Windows type <Ctrl> z then press Enter\n";
int grade;
while (cin >> grade) {
total += grade;
++gradeCounter;
switch (grade / 10) {
case 9:
case 10:
++aCount;
break;
case 8:
++bCount;
break;
case 7:
++cCount;
break;
case 6:
++dCount;
break;
default:
++fCount;
break;
}
}
cout << fixed << setprecision(2);
cout << "\nGrade Report:\n";
if (gradeCounter != 0) {
double average = static_cast<double>(total) / gradeCounter;
cout << "Total of the " << gradeCounter << " grades entered is "
<< total << "\nClass average is " << average
<< "\nNumber of students who received each grade:"
<< "\nA: " << aCount << "\nB: " << bCount << "\nC: " << cCount
<< "\nD: " << dCount << "\nF: " << fCount << endl;
}
else {
cout << "No grades were entered" << endl;
}
}
)7(
// Fig. 5.13: [Link]
// break statement exiting a for statement.
#include <iostream>
using namespace std;
int main() {
unsigned int count;
for (count = 1; count <= 10; count++) {
if (count == 5) {
break; // terminates loop if count is 5
}
cout << count << " ";
}
cout << "\nBroke out of loop at count = " << count << endl;
}
)8(
// Fig. 5.14: [Link]
// continue statement terminating an iteration of a for statement.
#include <iostream>
using namespace std;
int main() {
for (unsigned int count=1; count <= 10; count++) {
if (count == 5) {
continue; // skip remaining code in loop body if count is 5
}
cout << count << " ";
}
cout << "\nUsed continue to skip printing 5" << endl;
}