Help: (C++) LinkedListValue (using value to using super/parent: LinkedList(position) + Nodes) Data Structure (ADT)

out first project is to use a LinkedListValue (by Value), which (those by values determination) will be translated/converted to using its super/parent LinkedList (by position, and using Nodes) for containing and traversing the data (3 Data Types: int, string, and custom: soundtrack, which is from a data file, having 6 categories: composer, title, label, catelog number, year recorded, and date cd released --- of X quantity of them: data/records)

I think I get vaguely the general idea of how to do it, but I'm totally new to implementing all of this stuff, especially together, so it's very OVER-whelming, and I'll be lucky if I can get all the syntax set up correctly just for the various compartmentalizations/parts of it (I've never learned even how to use iterators yet, nor how to set up and work with dictionaries --- in C++, I know of dictionaries thanks to quest --- but, I've no idea how to do so in C++ --- one of the things that I need to rush-learn, along with the iterators, sighs), on top of getting it set up correctly as a connected unit/project/code, lol.

I'm still a bit sketchy on trying to set up a DoubleNode (being able to traverse the LinkedList in both directions), on top of if I can even get a Node (one direction of traversal) set up and working with everything else, lol.


my understanding of the vague general idea/design/structure, is this:

.

compartmentalization/part 1/1A: (LinkedList + Node/DoubleNode) + compartmentalization/part 1/1B: Nodes/DoubleNodes: is the containment and connection for the data, and being able to act upon that data: (traverse and manipulate the data)
.|
V ^
...|
compartmentalization/part 2/2A: LinkedListValue: my own class that determines how to find/get/traverse+manipulate the data (determines what data/what to do, by value, and then transitions/converts from that using by value to using by position for its parent/super LinkedList to do the actual data traversal+manipulation)
.|
V ^
...|
compartmentalization/part 3/2B: getting the data from the input file (for the 'soundtrack' DataType) and organizing it in a way that my LinkedListValue (compartmentalization/part 2) can use, to translate that into by position so that the LinkedList+Node (compartmentalization/part 1) can use it.

and

compartmentalization/part 2/2A: LinkedListValue: my own class that determines how to find/get/traverse+manipulate the data (determines what data/what to do, by value, and then transitions/converts from that using by value to using by position for its parent/super LinkedList to do the actual data traversal+manipulation)
.|
V ^
...|
client/testing program/(has main)

.

is this generally the correct structure/design of what we need to do?


and here's what I've pieced together so far... I only got until this tues. (aug. 6) to get this project done (we had more time, but I'm way behind, as I didn't know about using iterators and/or dictionaries, until last class meeting, and am totally new to this too):

(as can be seen, I still got a ton of stuff to try to do... and then hope it'll all work... HAH... sighs)

(I'm still just working on the header files/data, haven't even gotten to working on the LinkedListValue class stuff yet nor the handling and organization/management of the input file's data)

/*
TopicA: Interface
@file: TopicA.h
*/

// linker redundency safeguard:

#ifndef TOPIC_A_INTERFACE_
#define TOPIC_A_INTERFACE_

// libraries/references:

#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <memory>
#include <iterator>
#include <stdexcept>

// headers/class prototypes:

template<class ItemType>
class ListInterface
{
	public:
		virtual bool isEmpty() const = 0;
		virtual int getLength() const = 0;
		virtual bool insert(int newPosition, const ItemType& newEntry) = 0;
		virtual bool remove(int position) = 0;
		virtual void clear() = 0;
		virtual ItemType getEntry(int position) const = 0;
		virtual ItemType replace(int position, const ItemType& newEntry) = 0;
		virtual ~ListInterface() {};
};

template<class ItemType>
class Node
{
	private:
		ItemType item;
		std::shared_ptr<Node<ItemType>> next;
	public:
		Node();
		Node(const ItemType& anItem);
		Node(const ItemType& anItem, std::shared_ptr<Node<ItemType>> nextNodePtr);
		void setItem(const ItemType& anItem);
		void setNext(std::shared_ptr<Node<ItemType>> nextNodePtr);
		ItemType getItem() const;
		/*auto: needs to be changed, as can't use it, as it doesn't work for prof*/ getNext() const;
};

/*
template<class ItemType>
class DoubleNode
{
	private:
		ItemType item;
		std::shared_ptr<Node<ItemType>> next;
		std::weak_ptr<DoubleNode<ItemType>> previous;
	public:
		DoubleNode();
		DoubleNode(const ItemType& anItem);
		DoubleNode(const ItemType& anItem, std::shared_ptr<DoubleNode<ItemType>> nextNodePtr, std::weak_ptr<DoubleNode<ItemType>> previousNodePtr);
		void setItem(const ItemType& anItem);
		void setNext(std::shared_ptr<DoubleNode<ItemType>> nextNodePtr);
		void setPrevious(std::weak_ptr<DoubleNode<ItemType>> previousNodePtr);
		ItemType getItem() const;
		//auto: needs to be changed, as can't use it, as it doesn't work for prof// getNext() const;
		//auto: needs to be changed, as can't use it, as it doesn't work for prof// getPrevious() const;
};
*/

template<class ItemType>
class LinkedList : public ListInterface<ItemType>
{
	private:
		std::shared_ptr<Node<ItemType>> headPtr;
		int itemCount;
		/*auto: needs to be changed, as can't use it, as it doesn't work for prof*/ getNodeAt(int position) const;
	public:
		LinkedList();
		LinkedList(const LinkedList<ItemType>& aList);
		virtual ~LinkedList();
		bool isEmpty() const;
		int getLength() const;
		bool insert(int newPosition, const ItemType& newEntry);
		bool remove(int position);
		void clear();
		ItemType getEntry(int position) const throw(PrecondViolatedExcept);
		ItemType replace(int position, const ItemType& newEntry) throw(PrecondViolatedExcept);
		LinkedIterator<ItemType> begin() const;
		LinkedIterator<ItemType> end() const;
};

template<class ItemType>
class LinkedList;

template<class ItemType>
class LinkedIterator : public std::iterator<str::random_iterator_tag, int>
{
	private:
		const std::shared_ptr<LinkedList<ItemType> containerPtr;
		std::shared_ptr<Node<ItemType>> currentItemPtr;
	public:
		LinkedIterator(std::shared_ptr<LinkedLIst<ItemType>> someList, std::shared_ptr<Node<ItemType>> nodePtr = nullptr);
		const ItemType operator*();
		const ItemType operator*(const ItemType& anEntry);
		LinkedIterator<ItemType> operator++();
		LinkedIterator<ItemType> operator--();
		LinkedIterator<ItemType> operator+();
		LinkedIterator<ItemType> operator-();
		LinkedIterator<ItemType> operator+=();
		LinkedIterator<ItemType> operator-=();
		LinkedIterator<ItemType> operator<();
		LinkedIterator<ItemType> operator<=();
		LinkedIterator<ItemType> operator>();
		LinkedIterator<ItemType> operator>=();
		LinkedIterator<ItemType> operator[]();
//		LinkedIterator<ItemType> operator=();
		bool operator==(const LinkedIterator<ItemType>& rightHandSide) const;
		bool operator!=(const LinkedIterator<ItemType>& rightHandSide) const;
};

/*
class PrecondViolatedExcept : public std::exception
{
	public:
		PrecondViolatedExcept(const std::string& message = "") : std::exception("Precondition violated: " + message)
		{
		}
};
*/

// implementations/class definitions:

template<class ItemType>
Node<ItemType>::Node()
{
}

template<class ItemType>
Node<ItemType>::Node(const ItemType& anItem) : item(anItem)
{
}

template<class ItemType>
Node<ItemType::Node(const ItemType& anItem, std::shared_ptr<Node<ItemType>> nextNodePtr) : item(anItem), next(nextNodePtr)
{
}

// (maybe) need to fix up still for smart/managed (shared) ptrs and auto
template<class ItemType>
Node<ItemType>* LinkedList<ItemType>::getNodeAt(int position) const
{
	/*
	// for testing/debugging by programmers: this is only for use in case you've got the other methods that have (faulty) precondition checking/handling (pg 275-276, security note):
	assert((position >= 1) && (position <= itemCount));
	*/
	Node<ItemType>* curPtr = headPtr;
	for(int skip = 1; skip < position; skip++)
	{
		curPtr = curPtr->getNext();
	}
	return curPtr;
}

template<class ItemType>
void Node<ItemType>::setItem(const ItemType& anItem)
{
	item = anItem;
}

template<class ItemType>
void Node<ItemType>::setNext(std::shared_ptr<Node<ItemType>> nextNodePtr)
{
	next = nextNodePtr;
}

template<class ItemType>
ItemType Node<ItemType>::getItem() const
{
	return item;
}

template<class ItemType>
/*auto: needs to be changed, as can't use it, as it doesn't work for prof*/ Node<ItemType>::getNext() const
{
	return next;
}

/*
DoubleNode()
{
	//
}
*/

// (maybe) need to fix up still for smart/managed (shared) ptrs and auto
template<class ItemType>
LinkedList<ItemType>::LinkedList() : headptr(nullptr), itemCount(0)
{
}

// (maybe) need to fix up still for smart/managed (shared) ptrs and auto
template<class ItemType>
ItemType LinkedList<ItemType>::getEntry(int position) const throw(PrecondViolatedExcept)
{
	bool ableToGet = (position >= 1) && (position <= itemCount);
	if(ableToGet)
	{
		Node<ItemType>* nodePtr = getNodeAt(position);
		return nodePtr->getItem();
	}
	else
	{
		std:string message = "getEntry() called with an empty list or invlaid position.";
		throw(PrecondViolatedExcept(message));
	}
}

template<class ItemType>
LinkedList<ItemType>::insert(int newPosition, const ItemType& newEntry)
{
	bool ableToInsert = (newPosition >= 1) && (newPosition <= itemCount + 1);
	if(ableToInsert)
	{
		auto newNodePtr = std::make_shared<Node<ItemType>>(newEntry);
		if(newPosition == 1)
		{
			newNodePtr->setNext(headPtr);
			headPtr = newNodePtr;
		}
		else
		{
			auto prePtr = getNodeAt(newPosition - 1);
			newNodePtr->setNext(prevPtr->getNext());
			prevPtr->setNext(newNodePtr);
		}
		itemCount++;
	}
	return ableToInsert;
}

template<class ItemType>
bool LinkedList<ItemType>::remove(int position)
{
	bool ableToRemove = (position >= 1) && (position <= itemCount);
	if(ableToRemove)
	{
		if(position == 1)
		{
			headPtr = headPtr->getNext();
		}
		else
		{
			auto prevPtr = getNodeAt(position - 1);
			auto curPtr = prevPtr->getNext();
			prevPtr->setNext(curPtr->getNext());
		}
		itemCount--;
	}
	return ableToRemove;
}

template<class ItemType>
void LinkedList<ItemType>::clear()
{
	while(!isEmpty())
	{
		headPtr = nullptr;
		itemCount = 0;
	}
}

// (maybe) need to fix up still for smart/managed (shared) ptrs and auto
template<class ItemType>
LinkedList<ItemType>::~LinkedList()
{
	clear();
}

// (maybe) need to fix up still for smart/managed (shared) ptrs and auto
// need to finish this up (pg 281, see linked-based implementations of ADT bag in ch 4 and the ADT stack in ch 7: their copy constructors are quite similar to what we need here)
template<class ItemType>
LinkedList<ItemType>::LinkedList(const LinkedList<ItemType>& aList) // Copy Constructor
{
	//
}

// (maybe) need to fix up still for smart/managed (shared) ptrs and auto
// need to finish this up
template<class ItemType>
ItemType LinkedList<ItemType>::replace(int position, const ItemType& newEntry) throw(PrecondViolatedExcept)
{
	ItemType tempNode = this->getNodeAt(position);
	tempValue = tempNode.getItem();
	tempNode->setItem(newEntry);
	return tempValue;
}

template<class ItemType>
LinkedIterator<ItemType> LinkedList<ItemType>::begin()
{
	return LinkedIterator<ItemType>(this, headPtr);
}

template<class ItemType>
LinkedIterator<ItemType> LinkedList<ItemType>::end()
{
	return LinkedIterator<ItemType>(this, nullptr);
}

// need to finish this up:
/**/LinkedList<ItemType>::operator<</**/
{
	//
}

template<class ItemType>
LinkedIterator<ItemType>::LinkedIterator(std::shared_ptr<LinkedList<ItemType> someList, std::shared_ptr<Node<ItemType>> nodePtr) : containerPtr(someList), currentItemPtr(nodePtr)
{
}

template<class ItemType>
const ItemType LinkedInterior<ItemType>::operator*()
{
	return currentItemPtr->getItem();
}

template<class ItemType>
const ItemType LinkedInterior<ItemType>::operator*(const ItemType& anEntry)
{
	return currentItemPtr->setItem(anEntry);
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator++()
{
	currentItemPtr = currentItemPtr->getNext();
	return *this;
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator--()
{
	currentItemPtr = currentItemPtr->getPrevious();
	return *this;
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator+()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator-()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator+=()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator-=()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator<()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator<=()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator>()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator>=()
{
	//
}

template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator[]()
{
	//
}

/*
template<class ItemType>
LinkedIterator<ItemType> LinkedIterator<ItemType>::operator=()
{
	//
}
*/

template<class ItemType>
bool LinkedIterator<ItemType>::operator==(const LinkedIterator<ItemType>& rightHandSide) const
{
	return ((containerPtr == rightHandSide.containerPtr) && (currentItemPtr == rightHandSide.currentItemPtr));
}

template<class ItemType>
bool LinkedIterator<ItemType>::operator!=(const LinkedIterator<ItemType>& rightHandSide) const
{
	return ((containerPtr != rightHandSide.containerPtr) || (currentItemPtr != rightHandSide.currentItemPtr));
}

/*
class PrecondViolatedExcept : public std::exception
{
	public:
		PrecondViolatedExcept(const std::string& message = "") : std::exception("Precondition violated: " + message)
		{
		}
};
*/

// need to finish this up:
/**/::printList()
{
	LinkedIterator<std::sring> currentIterator = myList.begin();
	while(currentIterator != myList.end())
	{
		std::cout << *currentIterator << " ";
		++currentIterator;
	}
}

#endif

and here's the project information/specifications/requirements:

Topic A Project – Due Tuesday, 9/7

For this project you will create a derived class of LinkedList called LinkedListValue.   As we discussed in class, the LinkedList class is position based in that the member functions use the position of data in the list in order to perform their operations.  However, most operations are usually data based where the member functions use data values.  LinkedListValue will use data based functions.  

The functions in LinkedList work well and should not be discarded, with one exception.  Therefore the LinkedListValue class will be data based but use the underlying  LinkedList functions to perform the actual work.  This means that data based values must be converted into position based values.
  
The LinkedList class functions cannot be modified except to add in C++ 11 items and make the functions more efficient where appropriate.  The text identifies two methods (page 281) that are left for you to do.  There is also a third method which should be written.  You can add independent helper functions for the class if you need to.

The LinkedListValue class should prevent class clients from using the replace method of LinkedList (the exception mentioned above).   Further, since LinkedList uses positions, another function is required in LinkedListValue in order to use data to find items in the list.  This function must eventually use a LinkedList class function to access the list.  

The client uses three different data types with the classes.  For the first two you can see what the data is and what do to with it when you run TopicA.exe.  The final data type is the class soundtrack.  The class consists of the following data:

•	Composer
•	Title
•	Label
•	Catalog number
•	Date Recorded
•	Date CD released

It will be up to you to create the input file for the soundtrack data.  I strongly suggest making it as easy as possible for your program to read the data.  Call the input file 
Topic A Soundtrack List.txt.  

Here is the data for you to use: 

Composer	Title	Label	Catalog Number	Year Recorded	Year Released
Bernard Herrmann	The Egyptian	Varese Sarabande	VCL 1211 1128 9	1954	2011
Georges Delerue	King of Hearts	Varese Sarabande	SBS 2017	1966	2004
Dimitri Tiomkin	The Alamo	Prometheus     	 XPCD 168	11/09	2010
Akira Ifukube	Godzilla	La-La Land     	 LLLCD 1022	1954	2004
John Barry	The Lion in Winter	Legacy         	 CK66133	8/68	1995
Miklos Rozsa	Ben-Hur	FSM             	V15N1	1959	2012
Bronislau Kaper	Lord Jim	FSM             	V8N11	12/64	2005
Elmer Bernstein	Hawaii	Varese Sarabande	VCL 04031017	6/66	2003
Jerry Fielding	The Wild Bunch	FSM             	V16N1	1969	2013
John Barry	From Russia With Love	EMI             	72435-80588-2-6	3/63	2003
Bernard Herrmann	The Ghost and Mrs. Muir	Varese Sarabande	VCD 47254	1947	1985
Howard Shore	The Fellowship of the Ring	Reprise        	 49454-2	2001	2005
Erich Wolfgang Korngold	The Adventures of Robin Hood	Marco Polo     	8.225268	2/03	2003
Maurice Jarre	The Train	FSM             	V10N8	1964	2007
Elmer Bernstein	Birdman of Alcatraz	Varese Sarabande	VCL 11061054	1962	2006
Bernard Herrmann	The 7th Voyage of Sinbad	Prometheus     	 XPCD 166	1958	2009
Elmer Bernstein	To Kill a Mockingbird	Intrada         	262	1963	2014
Miklos Rozsa	Moonfleet	FSM             	V6N20	1/55	2004
William Walton	Henry V	Chandos         	CHAN 8892	5/90	1990
Franz Waxman	The Nun's Story	Stanyan       	  STZ-114	1958	1991
 

Elmer Bernstein	The Magnificent Seven	Ryko            	RCD 10741	1960	1998
Maurice Jarre	Lawrence of Arabia	tadlow music:   	TADLOW012	3/10	2010
Dimitri Tiomkin	The Guns of Navarone	Varese Sarabande	VSD-5236	1961	1989
Elmer Bernstein	Cast A Giant Shadow	Varese Sarabande	VCL 05021008	1966	2002
Alex North	The Shoes of the Fisherman	FSM             	V7N6	9/68	2004
Elmer Bernstein	Summer and Smoke	RCA             	74321720592	11/62	1999
Bernard Herrmann	Psycho	Varese Sarabande	VSD-5765	9/96	1997
Miklos Rozsa	El Cid	FSM             	Box 04 Disc 13	10/61	2010
Elmer Bernstein	The Great Escape	Intrada         	MAF 7112	1963	2011
Bronislau Kaper	Mutiny on the Bounty	FSM            	 V7N16	1962	2004
Patrick Doyle	Much Ado About Nothing	Epic           	 EX 54009	3/93	1993

The following are NOT equivalent, for example:

•	“FSM”
•	“FSM          “

Notice the trailing blanks in the second example.  Your data cannot contain any trailing blanks.  In order to get around this, you can reformat the file.

Here are some other items:

•	Use the following in TopicA.cpp if Visual Studio has warnings about the throw statements in the function headers:  #pragma warning( disable: 4290 )
•	Remember the Rule of Three regarding the functions that a class with dynamic data should have.
•	Remember which function should always be first in the client file.
•	Think about what pieces of main would work well as functions.
•	Put all the code for the class templates in the class header file rather than using separate header and implementation files.
•	When using inherited items in a class template derived from a class template, you should explicitly indicate that those are items inherited from the base class.  This means either using this->inheritedItem or using the colon operator as in BaseClass<T>::inheritedItem.  This is because the C++ standard states that on the first compiler pass the compiler has not done any instantiations of the base class template and does not, therefore, have the appropriate class available.  Visual Studio seems to handle this situation without any qualification while Xcode complains.
•	Update the code for C++ 11 items such as auto, uniform initialization, and smart pointers.  See C++ Interlude 4.  Generally, auto as a function return (which is really from C++ 14) does not work correctly on my Visual Studio.  Please do not use auto as a function return.
•	Performing comparisons with soundtrack data will require some thinking.  For example, it should not be necessary to completely populate a soundtrack object in order to match just on title.  Stretch your ingenuity.  Give it a workout.
•	Overload << in the linked list class.
•	Get rid of assert.
•	Be sure to appropriately use const and &.
•	Call the client file TopicA.cpp.  Be sure to hand in your input file as well.  Specify in your program status if your program was compiled and run under Visual Studio or Xcode.  

and here's the output from the professor's program run:


Create int LinkedListValue llv1 using default constructor


Insert items into llv1


Display llv1:

There are 6 values in the list:
-34
2
17
63
225
-2345




Create Linked List ll1 which is a copy of llv1


Display ll1:

There are 6 values in the list:
-34
2
17
63
225
-2345




Change the fifth value of ll1 to 2015


Change the tenth value of ll1 to 2016
Precondition Violated Exception: setEntry() called with an empty list or invalid position.


Display ll1:

There are 6 values in the list:
-34
2
17
63
2015
-2345




Create LinkedListValue llv2 which is a copy of llv1


Display llv2:

There are 6 values in the list:
-34
2
17
63
225
-2345




Remove 63 from llv2

63 was removed from llv2


Attempt to remove 63 from llv2 again

63 was NOT removed from llv2


Display llv2:

There are 5 values in the list:
-34
2
17
225
-2345




Create LinkedListValue llv3 from llv2


Display llv3:

There are 5 values in the list:
-34
2
17
225
-2345




Assign llv3 the values from llv1


Display llv3:

There are 6 values in the list:
-34
2
17
63
225
-2345




Assign ll1 the values from llv3


Display ll1:

There are 6 values in the list:
-34
2
17
63
225
-2345



Create string LinkedListValue llv4 using default constructor


Insert items into llv4


Display llv4:

There are 6 values in the list:
(redacted: my school class ID)
(redacted: my school class ID)
(redacted: my school class ID)
Data Structures
Using
C++




Create llv5 from llv4


Display llv5:

There are 6 values in the list:
(redacted: my school class ID)
(redacted: my school class ID)
(redacted: my school class ID)
Data Structures
Using
C++




Delete "Data" from llv5
"Data" NOT deleted from llv5


Delete "Data Structures" from llv5
"Data Structures" deleted from llv5


Display llv5:

There are 5 values in the list:
(redacted: my school class ID)
(redacted: my school class ID)
(redacted: my school class ID)
Using
C++




Assign llv5 to llv4


Display llv4:

There are 5 values in the list:
(redacted: my school class ID)
(redacted: my school class ID)
(redacted: my school class ID)
Using
C++




Create soundtrack LinkedListValue llv6


Insert values from file


Display llv6:

There are 31 values in the list:
Bernard Herrmann  The Egyptian  Varese Sarabande  VCL 1211 1128 9  1954  2011

Georges Delerue  King of Hearts  Varese Sarabande  SBS 2017  1966  2004

Dimitri Tiomkin  The Alamo  Prometheus  XPCD 168  11/09  2010

Akira Ifukube  Godzilla  La-La Land  LLLCD 1022  1954  2004

John Barry  The Lion in Winter  Legacy  CK66133  8/68  1995

Miklos Rozsa  Ben-Hur  FSM  V15N1  1959  2012

Bronislau Kaper  Lord Jim  FSM  V8N11  12/64  2005

Elmer Bernstein  Hawaii  Varese Sarabande  VCL 04031017  6/66  2003

Jerry Fielding  The Wild Bunch  FSM  V16N1  1969  2013

John Barry  From Russia With Love  EMI  72435-80588-2-6  3/63  2003

Bernard Herrmann  The Ghost and Mrs. Muir  Varese Sarabande  VCD 47254  1947  1985

Howard Shore  The Fellowship of the Ring  Reprise  49454-2  2001  2005

Erich Wolfgang Korngold  The Adventures of Robin Hood  Marco Polo  8.225268  2/03  2003

Maurice Jarre  The Train  FSM  V10N8  1964  2007

Elmer Bernstein  Birdman of Alcatraz  Varese Sarabande  VCL 11061054  1962  2006

Bernard Herrmann  The 7th Voyage of Sinbad  Prometheus  XPCD 166  1958  2009

Elmer Bernstein  To Kill a Mockingbird  Intrada  262  1963  2014

Miklos Rozsa  Moonfleet  FSM  V6N20  1/55  2004

William Walton  Henry V  Chandos  CHAN 8892  5/90  1990

Franz Waxman  The Nun's Story  Stanyan  STZ-114  1958  1991

Elmer Bernstein  The Magnificent Seven  Ryko  RCD 10741  1960  1998

Maurice Jarre  Lawrence of Arabia  tadlow music:  TADLOW012  3/10  2010

Dimitri Tiomkin  The Guns of Navarone  Varese Sarabande  VSD-5236  1961  1989

Elmer Bernstein  Cast A Giant Shadow  Varese Sarabande  VCL 05021008  1966  2002

Alex North  The Shoes of the Fisherman  FSM  V7N6  9/68  2004

Elmer Bernstein  Summer and Smoke  RCA  74321720592  11/62  1999

Bernard Herrmann  Psycho  Varese Sarabande  VSD-5765  9/96  1997

Miklos Rozsa  El Cid  FSM  Box 04 Disc 13  10/61  2010

Elmer Bernstein  The Great Escape  Intrada  MAF 7112  1963  2011

Bronislau Kaper  Mutiny on the Bounty  FSM  V7N16  1962  2004

Patrick Doyle  Much Ado About Nothing  Epic  EX 54009  3/93  1993




Create a new POINTER to a LinkedListValue pllv7, a copy of llv6

Display llv7

There are 31 values in the list:
Bernard Herrmann  The Egyptian  Varese Sarabande  VCL 1211 1128 9  1954  2011

Georges Delerue  King of Hearts  Varese Sarabande  SBS 2017  1966  2004

Dimitri Tiomkin  The Alamo  Prometheus  XPCD 168  11/09  2010

Akira Ifukube  Godzilla  La-La Land  LLLCD 1022  1954  2004

John Barry  The Lion in Winter  Legacy  CK66133  8/68  1995

Miklos Rozsa  Ben-Hur  FSM  V15N1  1959  2012

Bronislau Kaper  Lord Jim  FSM  V8N11  12/64  2005

Elmer Bernstein  Hawaii  Varese Sarabande  VCL 04031017  6/66  2003

Jerry Fielding  The Wild Bunch  FSM  V16N1  1969  2013

John Barry  From Russia With Love  EMI  72435-80588-2-6  3/63  2003

Bernard Herrmann  The Ghost and Mrs. Muir  Varese Sarabande  VCD 47254  1947  1985

Howard Shore  The Fellowship of the Ring  Reprise  49454-2  2001  2005

Erich Wolfgang Korngold  The Adventures of Robin Hood  Marco Polo  8.225268  2/03  2003

Maurice Jarre  The Train  FSM  V10N8  1964  2007

Elmer Bernstein  Birdman of Alcatraz  Varese Sarabande  VCL 11061054  1962  2006

Bernard Herrmann  The 7th Voyage of Sinbad  Prometheus  XPCD 166  1958  2009

Elmer Bernstein  To Kill a Mockingbird  Intrada  262  1963  2014

Miklos Rozsa  Moonfleet  FSM  V6N20  1/55  2004

William Walton  Henry V  Chandos  CHAN 8892  5/90  1990

Franz Waxman  The Nun's Story  Stanyan  STZ-114  1958  1991

Elmer Bernstein  The Magnificent Seven  Ryko  RCD 10741  1960  1998

Maurice Jarre  Lawrence of Arabia  tadlow music:  TADLOW012  3/10  2010

Dimitri Tiomkin  The Guns of Navarone  Varese Sarabande  VSD-5236  1961  1989

Elmer Bernstein  Cast A Giant Shadow  Varese Sarabande  VCL 05021008  1966  2002

Alex North  The Shoes of the Fisherman  FSM  V7N6  9/68  2004

Elmer Bernstein  Summer and Smoke  RCA  74321720592  11/62  1999

Bernard Herrmann  Psycho  Varese Sarabande  VSD-5765  9/96  1997

Miklos Rozsa  El Cid  FSM  Box 04 Disc 13  10/61  2010

Elmer Bernstein  The Great Escape  Intrada  MAF 7112  1963  2011

Bronislau Kaper  Mutiny on the Bounty  FSM  V7N16  1962  2004

Patrick Doyle  Much Ado About Nothing  Epic  EX 54009  3/93  1993




Delete "Henry V" from pllv7
"Henry V" removed from pllv7


Display pllv7

There are 30 values in the list:
Bernard Herrmann  The Egyptian  Varese Sarabande  VCL 1211 1128 9  1954  2011

Georges Delerue  King of Hearts  Varese Sarabande  SBS 2017  1966  2004

Dimitri Tiomkin  The Alamo  Prometheus  XPCD 168  11/09  2010

Akira Ifukube  Godzilla  La-La Land  LLLCD 1022  1954  2004

John Barry  The Lion in Winter  Legacy  CK66133  8/68  1995

Miklos Rozsa  Ben-Hur  FSM  V15N1  1959  2012

Bronislau Kaper  Lord Jim  FSM  V8N11  12/64  2005

Elmer Bernstein  Hawaii  Varese Sarabande  VCL 04031017  6/66  2003

Jerry Fielding  The Wild Bunch  FSM  V16N1  1969  2013

John Barry  From Russia With Love  EMI  72435-80588-2-6  3/63  2003

Bernard Herrmann  The Ghost and Mrs. Muir  Varese Sarabande  VCD 47254  1947  1985

Howard Shore  The Fellowship of the Ring  Reprise  49454-2  2001  2005

Erich Wolfgang Korngold  The Adventures of Robin Hood  Marco Polo  8.225268  2/03  2003

Maurice Jarre  The Train  FSM  V10N8  1964  2007

Elmer Bernstein  Birdman of Alcatraz  Varese Sarabande  VCL 11061054  1962  2006

Bernard Herrmann  The 7th Voyage of Sinbad  Prometheus  XPCD 166  1958  2009

Elmer Bernstein  To Kill a Mockingbird  Intrada  262  1963  2014

Miklos Rozsa  Moonfleet  FSM  V6N20  1/55  2004

Franz Waxman  The Nun's Story  Stanyan  STZ-114  1958  1991

Elmer Bernstein  The Magnificent Seven  Ryko  RCD 10741  1960  1998

Maurice Jarre  Lawrence of Arabia  tadlow music:  TADLOW012  3/10  2010

Dimitri Tiomkin  The Guns of Navarone  Varese Sarabande  VSD-5236  1961  1989

Elmer Bernstein  Cast A Giant Shadow  Varese Sarabande  VCL 05021008  1966  2002

Alex North  The Shoes of the Fisherman  FSM  V7N6  9/68  2004

Elmer Bernstein  Summer and Smoke  RCA  74321720592  11/62  1999

Bernard Herrmann  Psycho  Varese Sarabande  VSD-5765  9/96  1997

Miklos Rozsa  El Cid  FSM  Box 04 Disc 13  10/61  2010

Elmer Bernstein  The Great Escape  Intrada  MAF 7112  1963  2011

Bronislau Kaper  Mutiny on the Bounty  FSM  V7N16  1962  2004

Patrick Doyle  Much Ado About Nothing  Epic  EX 54009  3/93  1993




Delete "Henry V" AGAIN from pllv7
"Henry V" NOT removed from pllv7


Display pllv7

There are 30 values in the list:
Bernard Herrmann  The Egyptian  Varese Sarabande  VCL 1211 1128 9  1954  2011

Georges Delerue  King of Hearts  Varese Sarabande  SBS 2017  1966  2004

Dimitri Tiomkin  The Alamo  Prometheus  XPCD 168  11/09  2010

Akira Ifukube  Godzilla  La-La Land  LLLCD 1022  1954  2004

John Barry  The Lion in Winter  Legacy  CK66133  8/68  1995

Miklos Rozsa  Ben-Hur  FSM  V15N1  1959  2012

Bronislau Kaper  Lord Jim  FSM  V8N11  12/64  2005

Elmer Bernstein  Hawaii  Varese Sarabande  VCL 04031017  6/66  2003

Jerry Fielding  The Wild Bunch  FSM  V16N1  1969  2013

John Barry  From Russia With Love  EMI  72435-80588-2-6  3/63  2003

Bernard Herrmann  The Ghost and Mrs. Muir  Varese Sarabande  VCD 47254  1947  1985

Howard Shore  The Fellowship of the Ring  Reprise  49454-2  2001  2005

Erich Wolfgang Korngold  The Adventures of Robin Hood  Marco Polo  8.225268  2/03  2003

Maurice Jarre  The Train  FSM  V10N8  1964  2007

Elmer Bernstein  Birdman of Alcatraz  Varese Sarabande  VCL 11061054  1962  2006

Bernard Herrmann  The 7th Voyage of Sinbad  Prometheus  XPCD 166  1958  2009

Elmer Bernstein  To Kill a Mockingbird  Intrada  262  1963  2014

Miklos Rozsa  Moonfleet  FSM  V6N20  1/55  2004

Franz Waxman  The Nun's Story  Stanyan  STZ-114  1958  1991

Elmer Bernstein  The Magnificent Seven  Ryko  RCD 10741  1960  1998

Maurice Jarre  Lawrence of Arabia  tadlow music:  TADLOW012  3/10  2010

Dimitri Tiomkin  The Guns of Navarone  Varese Sarabande  VSD-5236  1961  1989

Elmer Bernstein  Cast A Giant Shadow  Varese Sarabande  VCL 05021008  1966  2002

Alex North  The Shoes of the Fisherman  FSM  V7N6  9/68  2004

Elmer Bernstein  Summer and Smoke  RCA  74321720592  11/62  1999

Bernard Herrmann  Psycho  Varese Sarabande  VSD-5765  9/96  1997

Miklos Rozsa  El Cid  FSM  Box 04 Disc 13  10/61  2010

Elmer Bernstein  The Great Escape  Intrada  MAF 7112  1963  2011

Bronislau Kaper  Mutiny on the Bounty  FSM  V7N16  1962  2004

Patrick Doyle  Much Ado About Nothing  Epic  EX 54009  3/93  1993




Assign pllv7 to llv6


Display llv6:

There are 30 values in the list:
Bernard Herrmann  The Egyptian  Varese Sarabande  VCL 1211 1128 9  1954  2011

Georges Delerue  King of Hearts  Varese Sarabande  SBS 2017  1966  2004

Dimitri Tiomkin  The Alamo  Prometheus  XPCD 168  11/09  2010

Akira Ifukube  Godzilla  La-La Land  LLLCD 1022  1954  2004

John Barry  The Lion in Winter  Legacy  CK66133  8/68  1995

Miklos Rozsa  Ben-Hur  FSM  V15N1  1959  2012

Bronislau Kaper  Lord Jim  FSM  V8N11  12/64  2005

Elmer Bernstein  Hawaii  Varese Sarabande  VCL 04031017  6/66  2003

Jerry Fielding  The Wild Bunch  FSM  V16N1  1969  2013

John Barry  From Russia With Love  EMI  72435-80588-2-6  3/63  2003

Bernard Herrmann  The Ghost and Mrs. Muir  Varese Sarabande  VCD 47254  1947  1985

Howard Shore  The Fellowship of the Ring  Reprise  49454-2  2001  2005

Erich Wolfgang Korngold  The Adventures of Robin Hood  Marco Polo  8.225268  2/03  2003

Maurice Jarre  The Train  FSM  V10N8  1964  2007

Elmer Bernstein  Birdman of Alcatraz  Varese Sarabande  VCL 11061054  1962  2006

Bernard Herrmann  The 7th Voyage of Sinbad  Prometheus  XPCD 166  1958  2009

Elmer Bernstein  To Kill a Mockingbird  Intrada  262  1963  2014

Miklos Rozsa  Moonfleet  FSM  V6N20  1/55  2004

Franz Waxman  The Nun's Story  Stanyan  STZ-114  1958  1991

Elmer Bernstein  The Magnificent Seven  Ryko  RCD 10741  1960  1998

Maurice Jarre  Lawrence of Arabia  tadlow music:  TADLOW012  3/10  2010

Dimitri Tiomkin  The Guns of Navarone  Varese Sarabande  VSD-5236  1961  1989

Elmer Bernstein  Cast A Giant Shadow  Varese Sarabande  VCL 05021008  1966  2002

Alex North  The Shoes of the Fisherman  FSM  V7N6  9/68  2004

Elmer Bernstein  Summer and Smoke  RCA  74321720592  11/62  1999

Bernard Herrmann  Psycho  Varese Sarabande  VSD-5765  9/96  1997

Miklos Rozsa  El Cid  FSM  Box 04 Disc 13  10/61  2010

Elmer Bernstein  The Great Escape  Intrada  MAF 7112  1963  2011

Bronislau Kaper  Mutiny on the Bounty  FSM  V7N16  1962  2004

Patrick Doyle  Much Ado About Nothing  Epic  EX 54009  3/93  1993




Find the soundtrack recorded in 1947 in pllv7
The soundtrack recorded in 1947 is in position 11 and is the following:
Bernard Herrmann  The Ghost and Mrs. Muir  Varese Sarabande  VCD 47254  1947  1985




Program Ending Successfully

Press Enter to end

Please stop spamming the other forums and bumping this. It's not likely you will get help with this here.


Jay was very courteous/gratious-enough, helping me with my last class (which I was soooo thankful for):

http://textadventures.co.uk/forum/general/topic/5944/help-assembly-language-masm-386

so, trying my luck again here... always worth a shot/try... at least.

I was hoping to get some help again for this new programming class I'm taking, I'd just pm Jay and Pixie and see/ask if they would be willing to help, if they be willing, know this programming, and/or had the time, but there's currently no pm feature available, so I've been bumping in hopes that they would see the thread, and let me know, if they would/can or can't/won't. I've got a deadline, and any help I can get would be greatly appreciative. I'll stop the bump spamming. If they're not aware of the thread, could you let them know (or anyone else who would be interested in helping) about it. I'm just trying to get/find any help with this, as it's all new to me, and am/was desperate to find any help I could on my school programming project as I need/needed it, so sorry about the bumping and etc, sighs.


Don't look at me, I don't know any C++.


no problem, thanks for letting me know. I guess I'm stuck with seeing if Jay will help me again, I don't like it, as he already had helped me so much with Assembly, but I'm stuck again, trying to learn something new in a short time and thus am desperate again for help, sighs. Programming is hard... at least/especially, if you don't already know how to do it, lol

(my apologies, I thought that you knew C++)

What, programming/scripting languages/whatever-other-coding-stuff, do you know Pixie? (just so I'll know from now on / in the future)


I just saw this. I can take a look when I get home. You can always feel free to email me as well, since the PM stuff has gone away, and since I'm off working on a different castle in the clouds these days.


Ok, I just saw that you had until Aug. 6. Sorry I didn't catch it sooner!


Thank you for the reply Jay, really appreciate how helpful you've been for me (and for everyone too on the site/with quest)!


Np, and it's alright, I was just desperate again, having trouble with understanding the project (I really didn't like/understood why once we found, via traverse/iterate/hop, the item by value comparison, to then find, via traverse/iterate/hop, to the item again using by position -- so, I was struck in trying to figure out how to do it without having to do an un-needed re-traversal with the by position/value, when we can just use a pointer to access it right then already, why get back to where we're already at in the chain?, just as the 'by position' functions were doing anyways. Maybe, it has something to do with keeping/preserving the 'walls / compartmentalization', though doesn't the classes do all of that for us, meh. Also, I wasn't sure how to go about the 'soundtrack' data type, in how to set it up either due too spending too much time on trying to just understand the syntax and how the nodes and etc worked, and mistakenly looking into iterators which we weren't to use so early with this first project - I thought the iterators were tied with the overloading - we were suppose to overload, but not with using iterators), sighs. We've got the code from the prof., so I should be able to understand it on my own from studying it. As I tried to work on it, I just kept getting myself more confused and overthinking it (and annoyed as I've been working on it every day too), I guess I just got really unlucky with a 'writer's block' with programming, sighs. I really want to try to do these on my own (able to do most projects on own), but I was really having a hard time with this one, on top of the 3 months of summer, causing me to forget everything... I've only had winter break (1 month) priorly, as I've just started the programming classes only 2/3 symesters ago, and the 1 month off didn't cause any issues, but this 3 months of summer did. I'm just frustrated/disappointed, with myself, and was getting desperate, sighs.

I figured you were probably gone/busy, so no worries. I was just hoping I could find/get someone before the due date, it was worth a shot, as I wasn't making any progress on my own. I was too lazy during the summer, and was caught unprepared for when school started back up, with this programming assignment. I'm really going to try to do these projects on my own, and try to not get desperate posting for help. I really need to get these projects figured out on my own. Just upset at self with this lousy start in the class.


Regardless of how I do, this class is going to be really great, as I'll be finally learning this stuff, which I've been wanting to learn since I learned to program from quest. Finally, I'm learning about organization/design (Data Structures/Management). If it takes me more attempts, not much I can do about it. Just got to keep learning, until I know the stuff really well.


Also, I'm trying to look into finding help, but it's not easy to find help with programming, and even if can find someone, may not be able to afford it.


This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums