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