Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Assistance for Better Coding (Rolodex Menu)

$
0
0
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
#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


Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>