Phonebook Program

0 comments

Consider a program to enter codes of one to eight characters along with an associated telephone number and associated notes.  A code can represent a person’s name, a person’s initials, a place, or anything. 

 

            By using such a program, we could enter telephone numbers or notes and associate them with some brief code (i.e. string), which hopefully would be easy to remember.  We could then retrieve a given telephone number or notes by entering the code.  This might be a useful application for a simple cell phone. 

 

      Codes are entered as 1 to 8 characters.

      Use “e” for enter, “f” for find, “l” to list, “q” to quit.

 

      Command: e Bill

      Enter number: 419-536-1234

      Enter notes:

 

      Command: e JB

      Enter number: 510-0114

      Enter notes:  Charlie’s place

 

      Command: e Jones

      Enter number: 413-257-1234

      Enter notes:  Karen and Jason

 

      Command: e wm

      Enter number: 419-257-1234

      Enter notes:  Walmart

 

      Command: f JB

      — JB

      — 617-510-0114

      — Charlie’s place

 

      Command: f Jane

      ** No entry with code Jane

 

      Command:  . . .

 

There is also an “l” command, which will list all entries on the screen.

 

For the input to this program, upper and lower case letters are considered equivalent.  For example, if a telephone number is entered with the code “Jones”, then the codes “JONES”, “jones”, and “JONes” will all retrieve the telephone number entered with “Jones”. 

 

            The entries are to be stored in a file from run to run.  When the program begins, the entries in the file are to be read into an array. The array should allow for up to 200 entries.  The array does not need to be kept in alphabetical order.  You may use a simple sequential search to retrieve entries.

 

When the program is exited, the entries should be stored back in a file for use when the program is run again.

 

Required Program Characteristics:  The assignment is to write a program that incorporates the above features.  The entries in the phonebook are to be represented with a simple class:

            class Entry {

      public:

   string name, number, notes;

      };

Use an array to store the entries.  The array should allow for up to 200 entries. 

     Entry entryList[200];

Use a function to read the entries into the program from a file, and a function to store the entries back into the file when the program is exited.   

      void readPhoneBook ()

      void storePhoneBook ()

Also, use a function to list all contacts:

            void listAllEntries()

 

Final Submission:

  • In the printouts of the sample runs, each of the commands “e”, “f”, “l” and “q” should be illustrated. 
  • You must also show that the external file is updated with entries added from a previous run.

 

Note:  You may wish to use

               string strToUpper (string S) {

         for (size_t i=0; i < S.length(); i++)

            S[i] =  toupper(S[i]);

         return S;

      }

 

Writing to a File

   void storePhoneBook () {

      fstream F(“PhoneData.txt”);

      rec_num = 0;

      while (rec_num < num_entries){

         F << contactList[rec_num].name   << ” “

           << contactList[rec_num].number << ” “

           << contactList[rec_num].notes  << ” ” << endl;

         rec_num++;

     }

     cout << “Phonebook stored.” << endl;

     return;

 

   }4

About the Author

Follow me


{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}