C++ Data Structures Question

C++ Data Structures
Address Book-Card Generator Program Using a Linked List

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.

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
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.

For this project, 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 ,

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




Your C++ source code with any header files
Your executable code
A document detailing how you will test your program
An overview document, giving the name of each file submitted and its purpose, as well as a few paragraphs on your experiences coding the linked lists

Credit is drawn upwards, but problems are pushed downwards

Please note this is not a homework problem and as I am a beginner as far as linked lists are concerned, I could not get started much.
So, your help will be much appreciated.
Thank you.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

evilrixSenior Software Engineer (Avast)Commented:
>> Please note this is not a homework problem and as I am a beginner as far as linked lists are concerned
The I presume you are not necessarily required to implement linked lists from scratch? This being the case consider using std::list, which is a linked list container class that is part of the Standard Template Library (STL) that comes with every C++compiler.

evilrixSenior Software Engineer (Avast)Commented:
If the above info doesn't help maybe you could clarify why specifically why not and what specifically you are unsure about. Also, it would also help if you could clarify what this project is for since, ostensibly, it does look very much like a homework Q. The fact that you mention this means, I presume, you are aware of EEs policy regarding homework assignments?
evilrixSenior Software Engineer (Avast)Commented:
>> I could not get started much. So, your help will be much appreciated.
The best thing to do to get started is to try and figure out at a high level how you application will be architecture. Think about the data structures involved, what there relationships are, how you will need to manipulate them and how they will interact. Don't worry about detail for now, figure that out once you've rationalized the high level design. This is called top-down development.


Sketching out a UML model (you don't need to know UML in depth to do this, as long as the diagram makes sense to you is all that really matters at this early stage) of this architecture should allow you to rationalize your thought process to a point where the code you'll need to write to support this architecture should start to make sense. Once you have an idea about how your data will be structured you can then start to give some thought to the high level processes required to manipulate these structures. Again, drawing a high level schematic of this will help you.


Also, start brain-storming questions about the requirements and then try to figure out answers to them. Any you can't answer should be considered risks until such time that you can answer them. Some examples of things to consider are: -

What data do you need to store in this structure?
How will you search the linked list?
Do you need to index it?
What options does your application need to support?
What framework will you need to implement to support these options?
Do you need to read data from or persist data to disk?
What IO mechanisms are required?
How will you search the linked list and what framework will you need to facilitate this?

Make a list of all the questions you have and then try to figure out how to resolve them. Any you can't resolve you can ask here.

I hope this helps.

Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

>> Please note this is not a homework problem and as I am a beginner as far as linked lists are concerned, I could not get started much.

Even if this is not homework, it is still an exercise intended for learning. So, it would not be moral that we just provide you with a solution.

Since you seem to be stuck on the concept of linked lists, I would read up on them first if I were you :


Understand how they work, and what's needed to implement them. Note that there's quite a bit of pseudo code, as well as C code on that page. Take a look at it if you need ideas, but I suggest not to copy it ... Try to implement this yourself. A good understanding of linked lists will help you a long way with programming (and not just with linked lists).

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
askanyquestions123Author Commented:
ok..Since you cannot directly provide an answer, it would be great if I could get references to similar examples to which I can relate to and then work/research on that to create my own solution for my question.
>> it would be great if I could get references to similar examples

See the link I posted ;)
askanyquestions123Author Commented:
I need an example which is interactive as well as uses linked list..
So, an example that would relate closest to my question would be great.
A linked list is just a data structure. The interactive part of your application is not related to the underlying data structure. Your specific requirements are just that : specific - in other words, you'll probably not find example code that approaches what you need to do the way you want to.

Just give it a go ... The link I posted shows you how to implement a linked list. Start with that, and once that's done, you can add the interactive part.

If you need a good C++ tutorial, you can find one here :

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.