requires you to complete a recusrsive routine that throws  darts to attain a score of , where the darts can have a number of values, specified by the user Program 2 CS 237 Kutztown LinkedList Test...

C++ Circular Linked ListHalf of coding is doneStuck in few functions


requires you to complete a recusrsive routine that throws  darts to attain a score of , where the darts can have a number of values, specified by the user Program 2 CS 237 Kutztown LinkedList Test Driver I)nsert Integer R)emove Integer F)orward Print B)ackward Print E)xit Topic: Data Structures Points: 25 Due: TBD. No late submissions accepted. Overview: For Project 2, you will design and implement a templated circular-linked list object, as well as a list iterator wrapper class to access the linked list for the purpose of traversing the list. Circular Linked List: A circular linked list is a linked list where a non-empty list has no null pointers. Unless empty, each node has a pointer to the next node, and the last node points back to the first node. You will implement this class with nodes arranged in ascending order according to the definition of operator < for the template argument. it will have a single data member, a pointer to a node object named last, which points to the last node of a non-empty list. use of the node class available online or on acad in the project’s directory is required. the linked list’s class will have a constructor, copy constructor, destructor, and assignment operator. its other public member functions will be named insert() and remove(). its implementation will be discussed during lecture. you must also write a list iterator class (in the same file) and a test driver for your linked list class. the list iterator will be templated and have as data member a reference (why a reference?) to a circular linked list and a pointer to the templated type. its member functions are as follows: • constructor: assigns the linked list data member to the parameter, a reference to a circular linked list. • begin() – sets the iterator to the first node of the linked list (or null if the list is empty) • isempty() – returns whether or not the wrapped linked list is empty • isfirstnode() – returns whether the present node is the first node of the linked list • islastnode() – returns whether the present node is the last node of the linked list • operator*() – returns the data of the node currently pointed at. (you need 2) • operator++() – pre-increment operator advances the pointer to the next node in the list, if there is one • operator++(int) – post-increment operator advances the pointer to the next node in the list, if there is one as you test the various functions of the list, create subfunctions that can support a menu- driven test driver with options exactly as in the box at right. requirements, notes and suggestions: • you may implement the class all in an h file. you may use a singularly linked list class from cs ii as a basis, with proper attribution. but, be careful. • the importance of creating drawings can’t be emphasized strongly enough. be sure to create and understand drawings of the list operations before starting to code them. several drawings will be made in class. • the destroy function in the linked list class is to be private and implemented recursively. • your linked list class may also be tested against the instructor’s test driver. you must use the exact names given for the iterator functions. you are to name the test driver for the class testll.cpp and submit it with the rest of this assignment. this test driver will create a linked list of int, permit the user to add and remove elements, and print the list either forward or backwards. • this project is graded using a script, examples of which will be provided in class. projects that fail to run with a correct script will be subject to a two-letter grade penalty. • your menu handling must process input case-insensitive. • the circular linked list class will be used in project 3, where we will extend an inheritance hierarchy. • you must carefully and completely document your code and place id blocks in all files, including those provided from external sources (e.g. the course instructor). lazy, chintzy, or otherwise substandard documentation is not acceptable. • create a doxygen api website for your project. place it in your acad web area (more on this in class). deliverables:  turnin: all h and cpp files, and a makefile that produces an executable named testll (that name exactly) by default.  d2l: a readme (named readme.txt or readme.pdf) that contains at least a link to your doxygen site. if any other information needs to be provided, do it here. place the readme in the project 2 d2l dropbox. you may also submit it with the files in turnin. for="" the="" template="" argument.="" it="" will="" have="" a="" single="" data="" member,="" a="" pointer="" to="" a="" node="" object="" named="" last,="" which="" points="" to="" the="" last="" node="" of="" a="" non-empty="" list.="" use="" of="" the="" node="" class="" available="" online="" or="" on="" acad="" in="" the="" project’s="" directory="" is="" required.="" the="" linked="" list’s="" class="" will="" have="" a="" constructor,="" copy="" constructor,="" destructor,="" and="" assignment="" operator.="" its="" other="" public="" member="" functions="" will="" be="" named="" insert()="" and="" remove().="" its="" implementation="" will="" be="" discussed="" during="" lecture.="" you="" must="" also="" write="" a="" list="" iterator="" class="" (in="" the="" same="" file)="" and="" a="" test="" driver="" for="" your="" linked="" list="" class.="" the="" list="" iterator="" will="" be="" templated="" and="" have="" as="" data="" member="" a="" reference="" (why="" a="" reference?)="" to="" a="" circular="" linked="" list="" and="" a="" pointer="" to="" the="" templated="" type.="" its="" member="" functions="" are="" as="" follows:="" •="" constructor:="" assigns="" the="" linked="" list="" data="" member="" to="" the="" parameter,="" a="" reference="" to="" a="" circular="" linked="" list.="" •="" begin()="" –="" sets="" the="" iterator="" to="" the="" first="" node="" of="" the="" linked="" list="" (or="" null="" if="" the="" list="" is="" empty)="" •="" isempty()="" –="" returns="" whether="" or="" not="" the="" wrapped="" linked="" list="" is="" empty="" •="" isfirstnode()="" –="" returns="" whether="" the="" present="" node="" is="" the="" first="" node="" of="" the="" linked="" list="" •="" islastnode()="" –="" returns="" whether="" the="" present="" node="" is="" the="" last="" node="" of="" the="" linked="" list="" •="" operator*()="" –="" returns="" the="" data="" of="" the="" node="" currently="" pointed="" at.="" (you="" need="" 2)="" •="" operator++()="" –="" pre-increment="" operator="" advances="" the="" pointer="" to="" the="" next="" node="" in="" the="" list,="" if="" there="" is="" one="" •="" operator++(int)="" –="" post-increment="" operator="" advances="" the="" pointer="" to="" the="" next="" node="" in="" the="" list,="" if="" there="" is="" one="" as="" you="" test="" the="" various="" functions="" of="" the="" list,="" create="" subfunctions="" that="" can="" support="" a="" menu-="" driven="" test="" driver="" with="" options="" exactly="" as="" in="" the="" box="" at="" right.="" requirements,="" notes="" and="" suggestions:="" •="" you="" may="" implement="" the="" class="" all="" in="" an="" h="" file.="" you="" may="" use="" a="" singularly="" linked="" list="" class="" from="" cs="" ii="" as="" a="" basis,="" with="" proper="" attribution.="" but,="" be="" careful.="" •="" the="" importance="" of="" creating="" drawings="" can’t="" be="" emphasized="" strongly="" enough.="" be="" sure="" to="" create="" and="" understand="" drawings="" of="" the="" list="" operations="" before="" starting="" to="" code="" them.="" several="" drawings="" will="" be="" made="" in="" class.="" •="" the="" destroy="" function="" in="" the="" linked="" list="" class="" is="" to="" be="" private="" and="" implemented="" recursively.="" •="" your="" linked="" list="" class="" may="" also="" be="" tested="" against="" the="" instructor’s="" test="" driver.="" you="" must="" use="" the="" exact="" names="" given="" for="" the="" iterator="" functions.="" you="" are="" to="" name="" the="" test="" driver="" for="" the="" class="" testll.cpp="" and="" submit="" it="" with="" the="" rest="" of="" this="" assignment.="" this="" test="" driver="" will="" create="" a="" linked="" list="" of="" int,="" permit="" the="" user="" to="" add="" and="" remove="" elements,="" and="" print="" the="" list="" either="" forward="" or="" backwards.="" •="" this="" project="" is="" graded="" using="" a="" script,="" examples="" of="" which="" will="" be="" provided="" in="" class.="" projects="" that="" fail="" to="" run="" with="" a="" correct="" script="" will="" be="" subject="" to="" a="" two-letter="" grade="" penalty.="" •="" your="" menu="" handling="" must="" process="" input="" case-insensitive.="" •="" the="" circular="" linked="" list="" class="" will="" be="" used="" in="" project="" 3,="" where="" we="" will="" extend="" an="" inheritance="" hierarchy.="" •="" you="" must="" carefully="" and="" completely="" document="" your="" code="" and="" place="" id="" blocks="" in="" all="" files,="" including="" those="" provided="" from="" external="" sources="" (e.g.="" the="" course="" instructor).="" lazy,="" chintzy,="" or="" otherwise="" substandard="" documentation="" is="" not="" acceptable.="" •="" create="" a="" doxygen="" api="" website="" for="" your="" project.="" place="" it="" in="" your="" acad="" web="" area="" (more="" on="" this="" in="" class).="" deliverables:="" ="" turnin:="" all="" h="" and="" cpp="" files,="" and="" a="" makefile="" that="" produces="" an="" executable="" named="" testll="" (that="" name="" exactly)="" by="" default.="" ="" d2l:="" a="" readme="" (named="" readme.txt="" or="" readme.pdf)="" that="" contains="" at="" least="" a="" link="" to="" your="" doxygen="" site.="" if="" any="" other="" information="" needs="" to="" be="" provided,="" do="" it="" here.="" place="" the="" readme="" in="" the="" project="" 2="" d2l="" dropbox.="" you="" may="" also="" submit="" it="" with="" the="" files="" in="">
Oct 15, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here