Storing street addresses with doubly linked lists, C/C++ Programming

Assignment Help:

Write a C++ program with header and source files to store street addresses using the Doubly Linked List ADT. Modify the Node class from Lab Assignment 3 so that it becomes a node in a Doubly Linked List. All the fields in the address can be maintained as before.

Create a header file called AddrDList.h and a C++ file called AddrDList.cpp. In the header file, define the Node class and declare any functions required to maintain the Doubly Linked List. Refer to the class lecture slides to see what functions you may need. Implement the necessary functions in the AddrDList.cpp file. Create another C++ file called TestAddrDList.cpp. This file should read input from a redirected file or terminal, parse the input commands and call the necessary Linked List functions. The following commands and options are allowed:

insert h

where

{ is a comma separated street address that is inserted at the head of the list.

insert

where

{ addr1 and addr2 are comma separated street addresses. Your program should find the position of the address addr2 in the list and insert addr1 c=b before or c=a after addr2. If addr2 is not found, do nothing.

display

where order will be one of two strings { ftoe or etof. In the case of the former, display all the nodes in the list from the beginning (head) to the end. For the latter, display all the nodes from the end to the beginning (Hint: use the prev pointer). Each address is separated by a single empty line. If display is called more than once, there is only one empty line between the last address of the first display and the first address of the second display.

delete addr

where addr is the address to be deleted. If the address is not found, do nothing.

A sample input file will look like this:

insert h 202,West Main Street,Post,TX,79356

insert 203,West Main Street,Post,TX,79356 a 202,West Main Street,Post,TX,79356

insert 204,West Main Street,Post,TX,79356 b 203,West Main Street,Post,TX,79356

display ftoe

Sample output after the display command in the above input example:

Number:202

Street:West Main Street

City:Post

State:TX

Zip:79356

Number:204

Street:West Main Street

City:Post

State:TX

Zip:79356

Number:203

Street:West Main Street

City:Post

State:TX

Zip:79356

Note that the address in the input file has to be parsed and stored in the different fields (number, street etc.) of the object. Each time your program compares the address stored in the node, it must compare every field.

2 Deliverables

The following files are to be zipped into a single file (with your eraider login name) and uploaded to Blackboard.

1. Source files: The two C++ and one header file. Source and header files must include relevant comments explaining the code.

2. README: Explain in a few lines what each program does and how to compile and run your programs. Also include your own name, eraider login and the date at the top of the file.

Please do not include any other files including executables or Visual Studio Project files. If you use Visual Studio for the assignment, you must first figure out how to redirect input and include command line arguments. Points will be assigned for clean compilation without warnings or errors. If your program does not compile, it fails all test cases by default. Your program will not be graded if the naming conventions specie in this document are not followed.


Related Discussions:- Storing street addresses with doubly linked lists

Palindrome, A palindrome is a string that reads the same from both the ends...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

Input and output in c++, C++ improves on many of C's features and provides ...

C++ improves on many of C's features and provides object-oriented programming capabilities used for software production, quality and reusability. C++ was developed by Bjarne Strons

Matematic, how to make program c++

how to make program c++

Compiler design-limit the methods, Ask question #Minimum 100Problem : Compi...

Ask question #Minimum 100Problem : Compiler Design - Limit the methods Rahul is a newbie to the programming and while learning the programming language he came to know the followi

# Bank Account class, Write a C++ program to test the Bank Account class fo...

Write a C++ program to test the Bank Account class for 10 customers.

Program for design and simulate a basic risc processor, Overall Program Obj...

Overall Program Objective: You will design and simulate a basic RISC processor.   You will create and encode an instruction set.  Your final task will be to "compile" a program

What is threaded binary tree, Threaded binary tree: Consider the linked il...

Threaded binary tree: Consider the linked illustration of a binary tree 'T.  Approximately half of the entries is the pointer fields 'LEFT' and 'RIGHT' will have null elements. Th

Describe difference between malloc()/free() & new/delete?, for object, mall...

for object, malloc allocates memory in heap however doesn't invoke object's constructor to initialize the object. new allocates memory & also invokes constructor to initialize the

Develop diablo 2 lod 1.13d dupe method for closed battle.net, Develop Diabl...

Develop Diablo 2 LOD 1.13d Dupe Method for Closed Battle.net This hack is for diablo 2 lord of destruction The program must work on all realms, all cores, all ladders (4x rea

Define and explain flow chart with an example, C Programming and Data Struc...

C Programming and Data Structures 1. Define and explain flow chart with an example. 2. Write an algorithm to print all even numbers in descending order and draw the flowcha

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd