CS 10C Programming Concepts and Methodologies 2

Project 27.1

Project 27.1: Grocery Shopping List (list)

Given a ListItem class, complete main() using the built-in list type to create a linked list called shoppingList. The program should read items from input (ending with -1), adding each item to shoppingList, and output each item in shoppingList using the PrintNodeData() function.

Ex. If the input is:

milk
bread
eggs
waffles
cereal
-1

the output is:

milk
bread
eggs
waffles
cereal

Here are the contents of ListItem.h:

#ifndef LISTITEMH
#define LISTITEMH

#include <string>

using namespace std;

class ListItem {
   public:
      ListItem();

      ListItem(string itemInit);

      // Print this node
      void PrintNodeData();

   private:
      string item;
};

#endif

Here are the contents of ListItem.cpp:

#include "ListItem.h"
#include <iostream>

ListItem::ListItem() {
   item = "";
}

ListItem::ListItem(string itemInit) {
   item = itemInit;
}

// Print this node
void ListItem::PrintNodeData() {
   cout << item << endl;
}

Use this as a template for your file. Full documentation is required for this file.

#include "ListItem.h"
#include <string>
#include <list>
#include <iostream>

using namespace std;

int main () {
   // TODO: Declare a list called shoppingList of type ListItem

   string item;

   // TODO: Read inputs (items) and add them to the shoppingList list
   //       Read inputs until a -1 is input


   // TODO: Print the shoppingList list using the PrintNodeData() function
}