Figure 5.1 |
#include <iostream> //cin,cout,>>,<<
#include <string> //string
using namespace std;
string verse(string restOfLine);
int main()
{
cout <<verse("farmer in the dell")
<<verse("farmer takes a wife")
<<verse("wife takes a child")
<<verse("child takes a nurse")
<<verse("nurse takes a cow")
<<verse("cow takes a dog")
<<verse("dog takes a cat")
<<verse("cat takes a rat")
<<verse("rat takes the cheese")
<<verse("cheese stands alone")<<end ;
}
/*verse()builds one verse of "The Farmer in the De ".
*
*Receive:restOfLine,a string.
*Return:a verse with restOfLine inserted appropriate y.
**************************************************************/
string verse(string restOfLine)
{
const string aVerse =
"\nThe "+restOfLine +"\n"+
"The "+restOfLine +"\n"+
"Hi-ho,the derry-o \n"+
"The "+restOfLine +"\n";
return aVerse;
}
|
Sample Run of Figure 5.1 |
The farmer in the del The farmer in the del Hi-ho,the derry-o The farmer in the del The farmer takes a wife The farmer takes a wife Hi-ho,the derry-o The farmer takes a wife The wife takes a child The wife takes a child Hi-ho,the derry-o The wife takes a child The child takes a nurse The child takes a nurse Hi-ho,the derry-o The child takes a nurse The nurse takes a cow The nurse takes a cow Hi-ho,the derry-o The nurse takes a cow The cow takes a dog The cow takes a dog Hi-ho,the derry-o The cow takes a dog The dog takes a cat The dog takes a cat Hi-ho,the derry-o The dog takes a cat The cat takes a rat The cat takes a rat Hi-ho,the derry-o The cat takes a rat The rat takes the cheese The rat takes the cheese Hi-ho,the derry-o The rat takes the cheese The cheese stands alone The cheese stands alone Hi-ho,the derry-o The cheese stands alone |
Figure 5.2 |
#include <iostream> //cout,cin,<<,>>
#include "RandomInt.h" //the type RandomInt
using namespace std;
int main()
{
cout <<"This program simulates a given number of dice-pair rolls,\n"
<<"counting the number of times a given roll occurs.\n";
int numberOfRolls; //number of rolls of dice
cout <<"\nHow many times are the dice to be rolled?";
cin >>numberOfRo s;
RandomInt die1(1,6), //the first die
die2(1,6); //the second die
int pair, //the sum of the dice
numberOfSpots, //number of spots to count
occurrences; //the counter variable
cout <<"Enter number of spots to count (2-12,0 to stop):";
cin >>numberOfSpots;
while (numberOfSpots !=0) //input loop:
{
occurrences =0; //set counter to zero
//for loop to repeat
for (int rollCount =1; //the following
rollCount <=numberOfRolls; //numRolls times:
rol Count++)
{ //roll the dice
pair =die1.generate()+die2.generate();
if (pair ==numberOfSpots) //if the number came up
occurrences++; //increment the counter
} //end for loop
//display the result cout <<"The relative frequency of "<<numberOfSpots <<"was "<<double(occurrences)/double(numberOfRo s) <<"\n \n"; cout <<"Enter number of spots to count (2-12,0 to stop):"; cin >>numberOfSpots; } //end input oop } |
Sample Run of Figure 5.2 |
This program simulates a given number of dice rolls, counting the number of times a given roll occurs. How many times are the dice to be rolled?10000 Enter number of spots to count (2-12,0 to stop):2 The relative frequency of 2 was 0.0281 Enter number of spots to count (2-12,0 to stop):6 The relative frequency of 6 was 0.1365 Enter number of spots to count (2-12,0 to stop):7 The relative frequency of 7 was 0.1691 Enter number of spots to count (2-12,0 to stop):8 The relative frequency of 8 was 0.141 Enter number of spots to count (2-12,0 to stop):11 The relative frequency of 11 was 0.0543 Enter number of spots to count (2-12,0 to stop):0 |
Figure 5.3 |
#include <iostream> //ostream c ass
#include <string> //the string c ass
#include <cassert> //assert()
using namespace std;
class Name
{
public:
Name();
Name(string first,string middle,string ast);
string getFirstName()const;
string getLastName()const;
char getMidd eInitial()const;
string getSignature()const;
void print(ostream&out)const;
//...other Name-operation declarations go here
private:
string myFirstName,
myMiddleName,
myLastName;
};
//...constructor definitions omitted ...
inline string Name::getFirstName()const
{
return myFirstName;
}
inline string Name::getLastName()const
{
return myLastName;
}
inline char Name::getMiddleInitial()const
{
assert(myMiddleName.size()>0);
return myMiddleName [0 ];
}
inline string Name::getSignature()const
{
return getFirstName()+''
+getMiddleInitial()+"."
+getLastName();
}
inline void Name::print(ostream&out)const
{
out <<getFirstName()+''
+getMiddleName()+''
+getLastName();
}
|
Figure 5.4 |
#include <iostream> //cin,cout,>>,<<
#include "Name.h" //Name
using namespace std;
int main()
{
Name hisName("John","Paul","Jones"),
herName("Mary","Anne","Smith");
cout <<hisName.getSignature()<<"\n \n";
<<herName.print(cout);
}
----------------------------
Sample run:
John P. Jones
Mary Anne Smith
|
Figure 5.5 |
#include <iostream> //ostream class
#include <string> //string class
#include "Name.h" //Name class
using namespace std;
class Student
{
public:
//...constructors omitted --see above &Section 3.8
Name getName()const;
int getIdNumber()const;
double getHourlyWage()const;
double getHoursWorked()const;
void print(ostream&out)const;
//...other operations omitted ...
private:
Name myName;
int myIdNumber;
double myHourlyWage;
double myHoursWorked;
};
//...constructor definitions omitted --see above &Section 3.8
inline Name Student::getName()const
{
return myName;
}
inline int Student::getIdNumber()const
{
return myIdNumber;
}
inline double Student::getHourlyWage()const
{
return myHourlyWage;
}
inline void Student::print(ostream&out)const
{
myName.print(out);
out <<''<<getIdNumber()
<<''<<getHourlyWage()
<<''<<getHoursWorked();
}
//...other method definitions omitted ...
|
Figure 5.6 |
#include <iostream> //cin,cout,>>,<<
using namespace std;
#include "Student.h" //Student
int main()
{
Student oneStudent("Alex","Bob","Colt",1234,7.25,15.0),
anotherStudent("Debra","E en","Fazio",9876);
oneStudent.print(cout);
cout <<'\n';
anotherStudent.getName().print(cout);
cout <<''<<herName.getIdNumber()<<endl;
}
------------------------
Sample run:
Alex Bob Colt 1234 7.25 15
Debra Ellen Fazio 9876
|