Exercise 4

Build a Virtual Shopping Cart using the Items of project3.

In class we decides on a group as to the ShoppingCart API, presented below. Note that the shopping cart has a cursor to keep track of the current item. In this way the items in the cart can be enumerated such as:

	ShoppingCart sh = new ShoppingCart() ;

	// ... etc...

	Item item ;
	int howMany ;
	if ( sh.gotoNth(0) ) do
	{
		item = sh.getItem() ;
		howMany =  sh.getQuantity() ;
	} while ( sh.gotoNext() ) ;


The ShoppingCart API

class ShoppingCart
{
	void addItem( Item itemToAdd, int quantity)
	throws ShoppingCartFullException
	{
		// adds itemToAdd with quantity to shopping cart.
	}

	int getTotalCost()
	{
		// returns the total cost, an integer in cents (or real)
	}

	Item getItem()
	{
		// return current item
	}
	

	int getQuantity( )
	{
		// return quantity of current item
	}

	// these are for listing the items in the cart

	boolean gotoNth(int nth)
	{
		// sets the cursor to the n-th item, counting
		// from 0
	}

	boolean gotoNext()
	{
		// returns flase if there is no next, you are at the end
	}

	void changeQuantity(int newQuantity)
	{
		// if you change to 0 quantity, item is removed
		// from cart ...
	}

}