Hello Everyone,
Below are my files for a simple C++ Rolodex Menu (Could not upload due to file type?). The program is fully functioning and meeting all my requirements, but, I know this could be coded better. Particularly in regards to turning the 5 contact Class object calls for each menu choice (coded in driver.cpp) into a single operation.
I am simply looking to improve my coding with C++. I usually work in VB.NET and C++ has been a bit of an uphill battle. As stated before, the program already does everything I require. I am just looking for ways to code it better.
If anyone would care to take the time to review it and give me some feedback, it would be most welcome!![^^]()
Thanks,
-A.L.
driver.cpp
contacts.h
menu.h
Below are my files for a simple C++ Rolodex Menu (Could not upload due to file type?). The program is fully functioning and meeting all my requirements, but, I know this could be coded better. Particularly in regards to turning the 5 contact Class object calls for each menu choice (coded in driver.cpp) into a single operation.
I am simply looking to improve my coding with C++. I usually work in VB.NET and C++ has been a bit of an uphill battle. As stated before, the program already does everything I require. I am just looking for ways to code it better.
If anyone would care to take the time to review it and give me some feedback, it would be most welcome!
Thanks,
-A.L.
driver.cpp
#include <iostream>
#include <string>
#include "contacts.h"
#include "menu.h"
using namespace std;
int main()
{
int choice = 88;
string searchString;
Contacts contact1("3371380", "James", "Stomps", "620 Wooded Circle", "Pierre", "SD", "88543");
Contacts contact2("5280665", "Pete", "Arvall", "45678 HWY AW", "Booneville", "CO", "65550");
Contacts contact3("3371223", "HoneyBee", "Estel", "01230 HWY TT", "Scottsdale", "AR", "65550");
Contacts contact4("3371234", "Lauren", "Sanchez", "2 Clark Lane", "Roby", "MO", "12345");
Contacts contact5("8005555", "Stefani", "Gonzega", "1458", "Switzerland", "GM", "6698");
Menu mainMenu;
while (choice != 0)
{
choice = mainMenu.displayMenu();
//system("CLS");
system("cls");
switch (choice)
{
case 1:
Contacts::displayColumns();
contact1.displayContacts();
contact2.displayContacts();
contact3.displayContacts();
contact4.displayContacts();
contact5.displayContacts();
system("pause");
system("cls");
break;
case 2:
cout << "Enter a Contact Phone Number to Search: " << endl;
getline(cin, searchString);
cout << "Results found: " << endl;
Contacts::displayColumns();
contact1.searchPhoneNumber(searchString);
contact2.searchPhoneNumber(searchString);
contact3.searchPhoneNumber(searchString);
contact4.searchPhoneNumber(searchString);
contact5.searchPhoneNumber(searchString);
system("pause");
system("cls");
break;
case 3:
cout << "Enter a First Name to Search: " << endl;
getline(cin, searchString);
system("CLS");
cout << "Results found: " << endl;
Contacts::displayColumns();
contact1.searchFirstName(searchString);
contact2.searchFirstName(searchString);
contact3.searchFirstName(searchString);
contact4.searchFirstName(searchString);
contact5.searchFirstName(searchString);
system("pause");
system("cls");
break;
case 4:
cout << "Enter a Contact Last Name to Search:" << endl;
getline(cin, searchString);
system("CLS");
cout << "Results found: " << endl;
Contacts::displayColumns();
contact1.searchLastName(searchString);
contact2.searchLastName(searchString);
contact3.searchLastName(searchString);
contact4.searchLastName(searchString);
contact5.searchLastName(searchString);
system("pause");
system("cls");
break;
case 5:
cout << "Enter a Contact Phone Number to modify: " << endl;
getline(cin, searchString);
contact1.modifyPhoneNumber(searchString);
contact2.modifyPhoneNumber(searchString);
contact3.modifyPhoneNumber(searchString);
contact4.modifyPhoneNumber(searchString);
contact5.modifyPhoneNumber(searchString);
system("pause");
system("cls");
break;
case 6:
cout << "Enter a Contact Address to modify: " << endl;
getline(cin, searchString);
contact1.modifyAddress(searchString);
contact2.modifyAddress(searchString);
contact3.modifyAddress(searchString);
contact4.modifyAddress(searchString);
contact5.modifyAddress(searchString);
system("pause");
system("cls");
break;
case 7:
cout << "Enter Last Name of Contact you wish to modify: " << endl;
getline(cin, searchString);
contact1.modifyLastName(searchString);
contact2.modifyLastName(searchString);
contact3.modifyLastName(searchString);
contact4.modifyLastName(searchString);
contact5.modifyLastName(searchString);
system("pause");
system("cls");
break;
} // End Switch
//choice = 0;
} // End While Loop
system("pause");
}// End Main()
contacts.h
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
class Contacts
{
private:
string contactPhoneNumber;
string contactFirstName;
string contactLastName;
string contactAddress;
string contactCity;
string contactState;
string contactZipCode;
string newPhoneNumber;
string newAddress;
string newLastName;
public:
//default constructor
Contacts(string phoneNumber, string firstName, string lastName, string address, string city, string state, string zipCode)
{
contactPhoneNumber = phoneNumber;
contactFirstName = firstName;
contactLastName = lastName;
contactAddress = address;
contactCity = city;
contactState = state;
contactZipCode = zipCode;
}//end of constructor
static void displayColumns()
{
cout << left << setw(8) << "Phone";
cout << left << setw(10) << "First";
cout << left << setw(12) << "Last";
cout << left << setw(19) << "Address";
cout << left << setw(16) << "City";
cout << left << setw(6) << "State";
cout << left << setw(7) << "Zip Code" << endl;
}
void displayContacts()
{
//Phone number Name Last address city state zip
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
void searchPhoneNumber(string ContactSearchString)
{
if (contactPhoneNumber == ContactSearchString)
{
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
}
void searchFirstName(string contactSearchString)
{
if (contactFirstName == contactSearchString)
{
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
}
void searchLastName(string contactSearchString)
{
if (contactLastName == contactSearchString)
{
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
}
void modifyPhoneNumber(string contactSearchString)
{
if (contactPhoneNumber == contactSearchString)
{
system("CLS");
cout << "What is the new phone number?" << endl;
getline(cin, newPhoneNumber);
contactPhoneNumber = newPhoneNumber;
system("CLS");
cout << "Contact is updated as follows: " << endl;
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
}
void modifyAddress(string contactSearchString)
{
if (contactAddress == contactSearchString)
{
system("CLS");
cout << "What is the new Address?" << endl;
getline(cin, newAddress);
contactAddress = newAddress;
system("CLS");
cout << "Contact is updated as follows: " << endl;
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
}
void modifyLastName(string contactSearchString)
{
if (contactLastName == contactSearchString)
{
system("CLS");
cout << "What is the new Last Name?" << endl;
getline(cin, newLastName);
contactLastName = newLastName;
system("CLS");
cout << "Contact is updated as follows: " << endl;
displayColumns();
cout << setw(8) << contactPhoneNumber;
cout << setw(10) << contactFirstName;
cout << setw(12) << contactLastName;
cout << setw(19) << contactAddress;
cout << setw(16) << contactCity;
cout << setw(6) << contactState;
cout << setw(7) << contactZipCode << endl;
}
}
};//end class
menu.h
#include <iostream>
#include <string>
using namespace std;
class Menu
{
public:
//default constructor
Menu()
{
};
int displayMenu()
{
cout << "1) List all rolodex entries." << endl;
cout << "2) Search by Phone Number." << endl;
cout << "3) Search by First Name." << endl;
cout << "4) Search by Last Name." << endl;
cout << "5) Find & Modify Phone Number." << endl;
cout << "6) Find & Modify Contact Address." << endl;
cout << "7) Find & Modify Contact Lase Name." << endl;
cout << "Enter 99 to exit" << endl;
getline(cin, menuChoice);
if (menuChoice == "1")
{
return 1;
}
if (menuChoice == "2")
{
return 2;
}
if (menuChoice == "3")
{
return 3;
}
if (menuChoice == "4")
{
return 4;
}
if (menuChoice == "5")
{
return 5;
}
if (menuChoice == "6")
{
return 6;
}
if (menuChoice == "7")
{
return 7;
}
//if (menuChoice == "99")
//{
// cout << "The menu is supposed to exit" << endl;
// return 0;
//}//end if
//else
//{
// cout << "Command not recognized" << endl;
// return 0;
//}//end else
}//end display menu
//cin >> menuChoice;
//
// switch(menuChoice)
// {
// case '1':
// return 1;
// case '2':
// return 2;
// case '3':
// return 3;
// case '4':
// return 4;
// case '5':
// return 5;
// case '6':
// return 6;
// case '7':
// return 7;
// case '99':
// cout << "The menu is supposed to exit" << endl;
// return 0;
// default:
// cout << "Command not recognized" << endl;
// return 0;
// }//end else
//
//}//end display menu
private:
string menuChoice;
};//end class