<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Directory%3ADerek_Elder%2FPrograms%2FLinkedListPhoneBook</id>
	<title>Directory:Derek Elder/Programs/LinkedListPhoneBook - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Directory%3ADerek_Elder%2FPrograms%2FLinkedListPhoneBook"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/LinkedListPhoneBook&amp;action=history"/>
	<updated>2026-06-16T22:04:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/LinkedListPhoneBook&amp;diff=51717&amp;oldid=prev</id>
		<title>Derek Elder: Start of page</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/LinkedListPhoneBook&amp;diff=51717&amp;oldid=prev"/>
		<updated>2007-12-18T01:02:35Z</updated>

		<summary type="html">&lt;p&gt;Start of page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
==PhoneBook.h==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;afxwin.h&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
#define new DEBUG_NEW&lt;br /&gt;
&lt;br /&gt;
struct PhoneBookItem&lt;br /&gt;
{&lt;br /&gt;
	string m_name;&lt;br /&gt;
	int m_age;&lt;br /&gt;
	string m_phone;&lt;br /&gt;
	&lt;br /&gt;
	PhoneBookItem* m_next;&lt;br /&gt;
	PhoneBookItem(const string&amp;amp; name, int age, const string&amp;amp; phone);&lt;br /&gt;
	//Purpose:Default Constructor&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:Data is initialized.&lt;br /&gt;
};&lt;br /&gt;
ostream&amp;amp; operator&amp;lt;&amp;lt;(ostream&amp;amp; os, const PhoneBookItem&amp;amp; phonebooklist);&lt;br /&gt;
&lt;br /&gt;
class PhoneBook&lt;br /&gt;
{&lt;br /&gt;
	friend ostream&amp;amp; operator&amp;lt;&amp;lt;(ostream&amp;amp; os, const PhoneBook&amp;amp; phonebook);&lt;br /&gt;
public:&lt;br /&gt;
	PhoneBook();&lt;br /&gt;
	//Purpose:Default Constructor&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:Data is initialized.&lt;br /&gt;
	PhoneBook(const PhoneBook&amp;amp; pb);&lt;br /&gt;
	//Purpose:Constructor&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:Data is initialized.&lt;br /&gt;
	~PhoneBook();&lt;br /&gt;
	//Purpose:Deconstructor&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:Data is erased.&lt;br /&gt;
	PhoneBook&amp;amp; operator=(const PhoneBook&amp;amp; pb);&lt;br /&gt;
	//Purpose:Overload the = operator.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:Copy function is called and the contents of the first phonebook are copied into the second phonebook.&lt;br /&gt;
	bool IsEmpty() const;&lt;br /&gt;
	//Purpose:Checks to see if the list is empty.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:1.Return true is the list is empty.&lt;br /&gt;
	//		2.Return false if the list contains data.&lt;br /&gt;
	int Size() const;&lt;br /&gt;
	//Purpose:Checks the size of the list.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:Returns the size of the list.&lt;br /&gt;
	bool Insert(const string&amp;amp; name, int age, const string&amp;amp; phone); //modify for trailer pointer&lt;br /&gt;
	//Purpose:To insert a person's name, age, and phone number into the phone book.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:1.Returns true if the insert is successful.&lt;br /&gt;
	//		2.Returns false if the insert is not successful.&lt;br /&gt;
	bool Delete(const string&amp;amp; name);&lt;br /&gt;
	//Purpose:To delete a person's name, age, and phone number into the phone book.&lt;br /&gt;
	//Precondition:&lt;br /&gt;
	//Postcondition:1.Returns true if the delete is successful.&lt;br /&gt;
	//		2.Returns false if the idelete is not successful.&lt;br /&gt;
	bool Lookup(const string&amp;amp; name, int age, string&amp;amp; phone) const; //int&amp;amp;age &amp;amp;phone&lt;br /&gt;
	//Purpose:To search for a specific person in the phone book.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:1.Returns true if the search is successful and the phonebook contains data.&lt;br /&gt;
	//		2.Returns false if the search is not successful and the given item is not found.&lt;br /&gt;
private:&lt;br /&gt;
	void Clear();&lt;br /&gt;
	//Purpose:Clears the phonebook of all data.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:The data in the given phonebook is erased.&lt;br /&gt;
	void Copy(const PhoneBook&amp;amp; pb2);&lt;br /&gt;
	//Purpose:Copies a given phonebook's data into another phonebook.&lt;br /&gt;
	//Precondition:None&lt;br /&gt;
	//Postcondition:The second phonebook contains the data of the first phonebook.&lt;br /&gt;
&lt;br /&gt;
	PhoneBookItem* m_head;&lt;br /&gt;
	int m_num;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==PhoneBook.cpp==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;quot;PhoneBook.h&amp;quot;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
PhoneBookItem::PhoneBookItem(const string&amp;amp; name, int age, const string&amp;amp; phone) &lt;br /&gt;
:m_name(name), m_age(age), m_phone(phone), m_next(NULL)&lt;br /&gt;
{}&lt;br /&gt;
ostream&amp;amp; operator&amp;lt;&amp;lt;(ostream&amp;amp; os, const PhoneBookItem&amp;amp; pbList)&lt;br /&gt;
{&lt;br /&gt;
	os&amp;lt;&amp;lt;&amp;quot;Name: &amp;quot;&amp;lt;&amp;lt;pbList.m_name&amp;lt;&amp;lt;&amp;quot;\t\tAge: &amp;quot;&amp;lt;&amp;lt;pbList.m_age&amp;lt;&amp;lt;&amp;quot;\t\tPhone Number: &amp;quot;&amp;lt;&amp;lt;pbList.m_phone&amp;lt;&amp;lt;endl;&lt;br /&gt;
	return os;&lt;br /&gt;
}&lt;br /&gt;
ostream&amp;amp; operator&amp;lt;&amp;lt;(ostream&amp;amp; os, const PhoneBook&amp;amp; pb)&lt;br /&gt;
{&lt;br /&gt;
	PhoneBookItem *p = pb.m_head-&amp;gt;m_next;&lt;br /&gt;
&lt;br /&gt;
	if(pb.Size() == 0)&lt;br /&gt;
	{&lt;br /&gt;
		os&amp;lt;&amp;lt;&amp;quot;The phonebook is empty.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
		return os;&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		while(p != 0)&lt;br /&gt;
		{&lt;br /&gt;
			os&amp;lt;&amp;lt;*p;&lt;br /&gt;
			p = p-&amp;gt;m_next;&lt;br /&gt;
		}&lt;br /&gt;
		return os;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
PhoneBook&amp;amp; PhoneBook::operator=(const PhoneBook&amp;amp; pb)&lt;br /&gt;
{&lt;br /&gt;
	if(this != &amp;amp;pb)&lt;br /&gt;
	{&lt;br /&gt;
		Clear();&lt;br /&gt;
		Copy(pb);&lt;br /&gt;
	}&lt;br /&gt;
	return *this;&lt;br /&gt;
}&lt;br /&gt;
PhoneBook::PhoneBook() &lt;br /&gt;
:m_head(new PhoneBookItem(&amp;quot;&amp;quot;,-99,&amp;quot;&amp;quot;)), m_num(0)&lt;br /&gt;
{}&lt;br /&gt;
PhoneBook::PhoneBook(const PhoneBook&amp;amp; pb) &lt;br /&gt;
{&lt;br /&gt;
	m_head = NULL;&lt;br /&gt;
	m_num = 0;&lt;br /&gt;
	Copy(pb);&lt;br /&gt;
}&lt;br /&gt;
PhoneBook::~PhoneBook() &lt;br /&gt;
{&lt;br /&gt;
	Clear();&lt;br /&gt;
}&lt;br /&gt;
bool PhoneBook::IsEmpty() const&lt;br /&gt;
{&lt;br /&gt;
	if(m_num == 0)&lt;br /&gt;
		return true;&lt;br /&gt;
	else&lt;br /&gt;
		return false;&lt;br /&gt;
}&lt;br /&gt;
int PhoneBook::Size() const&lt;br /&gt;
{&lt;br /&gt;
	return m_num;&lt;br /&gt;
}&lt;br /&gt;
bool PhoneBook::Insert(const string&amp;amp; name, int age, const string&amp;amp; phone)&lt;br /&gt;
{&lt;br /&gt;
	PhoneBookItem* temp = m_head;&lt;br /&gt;
&lt;br /&gt;
	int tempAge = 0;&lt;br /&gt;
	string tempPhone = &amp;quot;&amp;quot;;&lt;br /&gt;
	int counter = 0;&lt;br /&gt;
&lt;br /&gt;
	if(Size() &amp;gt;= 0)&lt;br /&gt;
	{&lt;br /&gt;
		if(Lookup(name,tempAge,tempPhone))&lt;br /&gt;
		{&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		while((counter &amp;lt; Size()) &amp;amp;&amp;amp; ((temp-&amp;gt;m_next)-&amp;gt;m_name &amp;lt; name))&lt;br /&gt;
		{&lt;br /&gt;
			temp = temp-&amp;gt;m_next;&lt;br /&gt;
			counter++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		PhoneBookItem* pb2 = new PhoneBookItem(name,age,phone);&lt;br /&gt;
&lt;br /&gt;
		pb2-&amp;gt;m_next = temp-&amp;gt;m_next;&lt;br /&gt;
		temp-&amp;gt;m_next = pb2;&lt;br /&gt;
		m_num++;&lt;br /&gt;
	}&lt;br /&gt;
	return true;&lt;br /&gt;
}&lt;br /&gt;
bool PhoneBook::Delete(const string&amp;amp; name) &lt;br /&gt;
{&lt;br /&gt;
	PhoneBookItem *p = m_head;&lt;br /&gt;
	while(p-&amp;gt;m_next != 0)&lt;br /&gt;
	{&lt;br /&gt;
		if(p-&amp;gt;m_next-&amp;gt;m_name == name)&lt;br /&gt;
		{&lt;br /&gt;
			PhoneBookItem* removeIt = p-&amp;gt;m_next;&lt;br /&gt;
			p-&amp;gt;m_next = p-&amp;gt;m_next-&amp;gt;m_next;&lt;br /&gt;
			&lt;br /&gt;
			delete removeIt;&lt;br /&gt;
			m_num--;&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
		p = p-&amp;gt;m_next;&lt;br /&gt;
	}&lt;br /&gt;
	return false;&lt;br /&gt;
}&lt;br /&gt;
bool PhoneBook::Lookup(const string&amp;amp; name, int age, string&amp;amp; phone) const&lt;br /&gt;
{&lt;br /&gt;
	PhoneBookItem *p = m_head-&amp;gt;m_next;&lt;br /&gt;
	while((p != 0) &amp;amp;&amp;amp; (p-&amp;gt;m_name &amp;lt;= name))&lt;br /&gt;
	{&lt;br /&gt;
		if(p-&amp;gt;m_name == name)&lt;br /&gt;
		{&lt;br /&gt;
			age = p-&amp;gt;m_age;&lt;br /&gt;
			phone = p-&amp;gt;m_phone;&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
		p = p-&amp;gt;m_next;&lt;br /&gt;
	}&lt;br /&gt;
 	return false;&lt;br /&gt;
}&lt;br /&gt;
void PhoneBook::Clear()&lt;br /&gt;
{&lt;br /&gt;
	PhoneBookItem* p = m_head;&lt;br /&gt;
	PhoneBookItem* temp;&lt;br /&gt;
	while(p != 0)&lt;br /&gt;
	{&lt;br /&gt;
		temp = p;&lt;br /&gt;
		p = p-&amp;gt;m_next;&lt;br /&gt;
&lt;br /&gt;
		delete temp;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
void PhoneBook::Copy(const PhoneBook&amp;amp; pb2)&lt;br /&gt;
{&lt;br /&gt;
	PhoneBookItem* p2 = pb2.m_head-&amp;gt;m_next;&lt;br /&gt;
	PhoneBookItem* pThis = new PhoneBookItem(&amp;quot;&amp;quot;,-99,&amp;quot;&amp;quot;);&lt;br /&gt;
	m_head = pThis;&lt;br /&gt;
&lt;br /&gt;
	while(p2 != 0)&lt;br /&gt;
	{&lt;br /&gt;
		pThis-&amp;gt;m_next = new PhoneBookItem(p2-&amp;gt;m_name,p2-&amp;gt;m_age,p2-&amp;gt;m_phone);&lt;br /&gt;
&lt;br /&gt;
		p2 = p2-&amp;gt;m_next;&lt;br /&gt;
		pThis = pThis-&amp;gt;m_next;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	m_num = pb2.m_num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Main.cpp==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;quot;PhoneBook.h&amp;quot;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
void clearScreen();&lt;br /&gt;
//Purpose:To clear the screen.&lt;br /&gt;
//Precondition:None&lt;br /&gt;
//Postcondition:Screen is cleared.&lt;br /&gt;
char displayMenuAndGetSelection();&lt;br /&gt;
//Purpose:To display the menu and get the selection for searching.&lt;br /&gt;
//Precondition:None&lt;br /&gt;
//Postcondition:Search choice is entered and appropriate function is called.&lt;br /&gt;
void Pause();&lt;br /&gt;
//Purpose:To pause the program and allow the user a break.&lt;br /&gt;
//Precondition:None&lt;br /&gt;
//Postcondition:None&lt;br /&gt;
void quitProgram();&lt;br /&gt;
//Purpose:To inform the user the program has been terminated.&lt;br /&gt;
//Precondition:None&lt;br /&gt;
//Postcondition:Program terminated.&lt;br /&gt;
void doLookup(PhoneBook&amp;amp; pb);&lt;br /&gt;
//Purpose:doLookup function calls Lookup function to find a person from the phonebook.&lt;br /&gt;
//Precondition:Choice must be selected from the menu.&lt;br /&gt;
//Postcondition:Lookup is performed and results are displayed.&lt;br /&gt;
void doInsert(PhoneBook&amp;amp; pb);&lt;br /&gt;
//Purpose:doInsert function calls Insert function to insert a person into the phonebook.&lt;br /&gt;
//Precondition:Choice must be selected from the menu.&lt;br /&gt;
//Postcondition:Insert is performed and results are displayed.&lt;br /&gt;
void doDelete(PhoneBook&amp;amp; pb);&lt;br /&gt;
//Purpose:doDelete function calls Delete function to delete a person from the phonebook.&lt;br /&gt;
//Precondition:Choice must be selected from the menu.&lt;br /&gt;
//Postcondition:Delete is performed and results are displayed.&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
	PhoneBook pb1;&lt;br /&gt;
	bool done = false;&lt;br /&gt;
&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;Before any people are inserted into the phonebook.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;pb1; //Should print out no one is present.&lt;br /&gt;
&lt;br /&gt;
	//Initial inserts&lt;br /&gt;
	pb1.Insert(&amp;quot;Joe&amp;quot;,23,&amp;quot;11234567890&amp;quot;);&lt;br /&gt;
	pb1.Insert(&amp;quot;Marv&amp;quot;,40,&amp;quot;15555555555&amp;quot;);&lt;br /&gt;
	pb1.Insert(&amp;quot;Larry&amp;quot;,33,&amp;quot;12121212121&amp;quot;);&lt;br /&gt;
	pb1.Insert(&amp;quot;Kenrick&amp;quot;,15,&amp;quot;18001314554&amp;quot;);&lt;br /&gt;
	pb1.Insert(&amp;quot;Joe&amp;quot;,26,&amp;quot;19375530293&amp;quot;); //Should not insert because a &lt;br /&gt;
					    //person with the name of Joe is already present.&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;=======PhoneBook 1=======&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	//overload &amp;lt;&amp;lt; operator&lt;br /&gt;
	cout&amp;lt;&amp;lt;pb1;&lt;br /&gt;
&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;=======PhoneBook 2=======&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	//call copy function&lt;br /&gt;
	PhoneBook pb2(pb1);&lt;br /&gt;
	pb2.Delete(&amp;quot;Joe&amp;quot;); //deletes Joe out of pb2 so only three names should appear.&lt;br /&gt;
	cout&amp;lt;&amp;lt;pb2;&lt;br /&gt;
&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;=======PhoneBook 3=======&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	PhoneBook pb3;&lt;br /&gt;
	//overload = operator&lt;br /&gt;
	pb3 = pb1;&lt;br /&gt;
	cout&amp;lt;&amp;lt;pb3;&lt;br /&gt;
&lt;br /&gt;
	Pause();&lt;br /&gt;
	while(!done)&lt;br /&gt;
	{&lt;br /&gt;
		char menuChoice = ' ';&lt;br /&gt;
&lt;br /&gt;
		menuChoice = displayMenuAndGetSelection();&lt;br /&gt;
		clearScreen();&lt;br /&gt;
		switch(menuChoice)&lt;br /&gt;
		{&lt;br /&gt;
			case '1':&lt;br /&gt;
				cout&amp;lt;&amp;lt;pb1;&lt;br /&gt;
				Pause();&lt;br /&gt;
				done = false;&lt;br /&gt;
				break;&lt;br /&gt;
			case '2':&lt;br /&gt;
				doInsert(pb1);&lt;br /&gt;
				Pause();&lt;br /&gt;
				done = false;&lt;br /&gt;
				break;&lt;br /&gt;
			case '3':&lt;br /&gt;
				doDelete(pb1);&lt;br /&gt;
				Pause();&lt;br /&gt;
				done = false;&lt;br /&gt;
				break;&lt;br /&gt;
			case '4':&lt;br /&gt;
				doLookup(pb1);&lt;br /&gt;
				Pause();&lt;br /&gt;
				done = false;&lt;br /&gt;
				break;&lt;br /&gt;
			case '5':&lt;br /&gt;
				cout&amp;lt;&amp;lt;&amp;quot;There are currently &amp;quot;&amp;lt;&amp;lt;pb1.Size()&amp;lt;&amp;lt;&amp;quot; people in the phonebook.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
				Pause();&lt;br /&gt;
				done = false;&lt;br /&gt;
				break;&lt;br /&gt;
			case '6':&lt;br /&gt;
				quitProgram();&lt;br /&gt;
				done = true;&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				cout&amp;lt;&amp;lt;&amp;quot;Incorrect choice selected&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
				Pause();&lt;br /&gt;
				done = false;&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
void clearScreen()&lt;br /&gt;
{&lt;br /&gt;
	system(&amp;quot;cls&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
char displayMenuAndGetSelection()&lt;br /&gt;
{&lt;br /&gt;
	char choice;&lt;br /&gt;
	clearScreen();&lt;br /&gt;
	cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;'1' -- View the Phonebook.&amp;quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;'2' -- Insert a new person's information into the phonebook.&amp;quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;'3' -- Delete a person's information from the phonebook.&amp;quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;'4' -- Search the phonebook.&amp;quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;'5' -- Count the number of people in the phonebook.&amp;quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;'6' -- Quit the program.&amp;quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cin&amp;gt;&amp;gt;choice;&lt;br /&gt;
	cin.ignore(50,'\n');&lt;br /&gt;
	return choice;&lt;br /&gt;
}&lt;br /&gt;
void Pause()&lt;br /&gt;
{&lt;br /&gt;
	cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;Press 'ENTER' to continue...&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cin.get();&lt;br /&gt;
}&lt;br /&gt;
void quitProgram()&lt;br /&gt;
{&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;Program terminated, good bye!&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
void doLookup(PhoneBook&amp;amp; pb)&lt;br /&gt;
{&lt;br /&gt;
	string name,phone;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;What person would you like to search for? &amp;quot;;&lt;br /&gt;
	cin&amp;gt;&amp;gt;name;&lt;br /&gt;
	cin.ignore(50,'\n');&lt;br /&gt;
&lt;br /&gt;
	pb.Lookup(name,0,phone);&lt;br /&gt;
&lt;br /&gt;
	if((pb.Lookup(name,0,phone)) == true)&lt;br /&gt;
	{&lt;br /&gt;
		cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;The person you have searched for is in the phonebook.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
		cout&amp;lt;&amp;lt;&amp;quot;The phone number of the person is: &amp;quot;&amp;lt;&amp;lt;phone&amp;lt;&amp;lt;endl;&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;The person you have searched for is not in the phonebook.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
void doInsert(PhoneBook&amp;amp; pb)&lt;br /&gt;
{&lt;br /&gt;
	string name, phone;&lt;br /&gt;
	int age;&lt;br /&gt;
&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;Please enter the relevant information to be entered into the phonebook.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;Name: &amp;quot;;&lt;br /&gt;
	cin&amp;gt;&amp;gt;name;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;Age: &amp;quot;;&lt;br /&gt;
	cin&amp;gt;&amp;gt;age;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;Phone Number: &amp;quot;;&lt;br /&gt;
	cin&amp;gt;&amp;gt;phone;&lt;br /&gt;
	cin.ignore(50,'\n');&lt;br /&gt;
&lt;br /&gt;
	pb.Insert(name,age,phone);&lt;br /&gt;
	cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;Insert has been performed.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
void doDelete(PhoneBook&amp;amp; pb)&lt;br /&gt;
{&lt;br /&gt;
	string name;&lt;br /&gt;
	cout&amp;lt;&amp;lt;&amp;quot;What person would you like to delete from the phonebook? &amp;quot;;&lt;br /&gt;
	cin&amp;gt;&amp;gt;name;&lt;br /&gt;
	cin.ignore(50,'\n');&lt;br /&gt;
&lt;br /&gt;
	pb.Delete(name);&lt;br /&gt;
	cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;Delete has been performed.&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derek Elder</name></author>
	</entry>
</feed>