View the step-by-step solution to:

This program will have names and addresses saved in a linked list. In addition, a birthday and anniversary date will be saved with each record.

This program will have names and addresses saved in a linked list. In addition, a birthday and
anniversary date will be saved with each record.

When the program is run, it will search for a birthday or an anniversary using the current date to
compare with the saved date. It will then generate the appropriate card message.

Because this will be an interactive system, your program should begin by displaying a menu.
Items on the menu should include:

• Enter a new name into the address book
• Delete a name from the address book
• Change a name or date in the address book
• Display the whole address book
• Generate birthday cards
• Generate anniversary cards
• Exit the card program

Each of these sections will call individual functions to perform their appropriate task.

This address book is to be sorted in alphabetical order. Be aware of this when you are entering,
deleting, or changing the name, and plan your code accordingly. Use classes and objects where
appropriate. Be sure to comment your code and use appropriate variable, function, and class
names so that it is clear how the program flows.

The user gets the menu and creates information to be stored in your address book. (To save
sanity in testing, you may fill in 5 or 6 records within the code or written to a file to start your
address book.) The user can add a new record to your existing ones, delete a record, modify a
record or print the whole address book on the screen. For each of the options, make sure you
give suitable prompts on the screen so that the user knows what is expected by the program.
Expect that the user will enter both a birthday and anniversary date. (If you’d like, you can handle
the situation where the user chooses not to enter an anniversary date.) A year may be entered or
omitted in birthday and anniversary dates. Also be sure to redisplay the menu any time a function
has concluded, until the user presses the Exit option.

Create and display the card created on the screen (you do not need to print it). You may design
the layout of the card as you wish. For example, it could be:

Dear <fname>,

Hope your birthday is really wonderful and this coming year is the best yet!


“Generate Birthday Cards” and “Generate Anniversary Cards” will use the system date (today) as
the date to match. Using this date, display the card below it on the screen. Be ready to print
multiple cards if more than one birthday or anniversary falls on the same day.

“Display the Whole Address Book” will be done on the screen. Output should look something like:
Wilson, Fred
123 Main Street
Anytown, NJ 00000
Birthday: May 7
Anniversary: June 25

Recently Asked Questions

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.


Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question