#include "AccountListList.h" #include "AccountListLink.h" int PickRand(int max) { int random = rand() % max; return random; } int main() { char wait; AccountList myList; cout << "myList has " << myList.size() << " elements " << endl; myList.ShowList(); int cnt; for (cnt = 0; cnt < 3; cnt++) { Account newOne; myList.push_back(newOne); cout << "myList has " << myList.size() << " elements " << endl; myList.ShowList(); } cout << "Waiting for you - type char and return> " << flush; cin >> wait; // try depositing random amount between 0 and 2000 // dont have iterators - must deal with pointers to nodes (called AccountLink s) AccountLink * acctPtr; for (acctPtr = myList.begin(); acctPtr != 0; acctPtr = acctPtr->Next() ) { int amount = PickRand(2000); acctPtr->GetValue().Deposit(amount); } cout << "myList has " << myList.size() << " elements " << endl; myList.ShowList(); cout << "Waiting for you - type char and return> " << flush; cin >> wait; // save a copy of the list of accounts for safe keeping AccountList listCopy(myList); // now add some to the front for (cnt = 0; cnt < 3; cnt++) { Account newOne; myList.push_front(newOne); cout << "myList has " << myList.size() << " elements " << endl; myList.ShowList(); } cout << "Waiting for you - type char and return> " << flush; cin >> wait; cout << "Removing " << myList.back() << " from list " << endl; myList.pop_back(); cout << "myList has " << myList.size() << " elements " << endl; myList.ShowList(); cout << "Waiting for you - type char and return> " << flush; cin >> wait; cout << "listCopy has " << listCopy.size() << " elements " << endl; listCopy.ShowList(); return 0; }