From 06bcc9edc94a5fa271ad24cdf6117d53515da46d Mon Sep 17 00:00:00 2001 From: cdez Date: Tue, 8 Oct 2024 09:30:47 -0700 Subject: [PATCH] Finish Assignment 3, inventory program has finished. --- assignmentThree/inventory | Bin 16072 -> 48168 bytes assignmentThree/inventory.cpp | 206 +++++++++++++++++++++++++++++++++- 2 files changed, 204 insertions(+), 2 deletions(-) diff --git a/assignmentThree/inventory b/assignmentThree/inventory index bfdefcef14139bcb545e99433770608c3b8dcad7..04084fe2781b0509d1774d9dc4a2ac5d011d02e0 100755 GIT binary patch literal 48168 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 H5mWsO)b$2> diff --git a/assignmentThree/inventory.cpp b/assignmentThree/inventory.cpp index 2da93bf..35eee48 100644 --- a/assignmentThree/inventory.cpp +++ b/assignmentThree/inventory.cpp @@ -33,11 +33,19 @@ Dependencies: ??? using namespace std; +typedef enum +{ + QUIT_INVENTORY = -1, + START_INVENTORY_MANAGEMENT, + KEEP_INVENTORY_MANAGING, + DISPLAY_INVENTORY +} MENU_OPTIONS; + // class definitions class Inventory { private: - // variables + vector inv; public: Inventory() @@ -48,6 +56,132 @@ public: { // default destructor } + // accessor functions + // need a find function (use vector find?) + int findItem(string itemFind) + { + // use the find function, then compare each raw value + auto vecIterator = find(inv.begin(), inv.end(), itemFind); + if(vecIterator != inv.end()) + { + // return the index if found + return vecIterator - inv.begin(); + } + // otherwise, return 'not found' + return -1; + } + // need a display function, iterate and print each? + void displayInventory() + { + // print out the entire inventory using a for loop. + int inventorySize = inv.size(); + cout << "Inventory Items:" << endl; + for(int vecIterator = 0; vecIterator < inventorySize - 1; vecIterator++) + { + cout << "\tItem " << vecIterator + 1 << ": " << inv[vecIterator] << endl; + } + cout << endl; + } + // mutator functions + // need a use function (finds and removes the item) + void useItem() + { + // ask user which item they want to use. + int pickedItem; + bool validItem = false; + string itemToFind; + int foundItemIndex = 0; + // ask user which item they want to add. + cout << "Please pick an item to add to the inventory: " << endl; + cout << "\t1: Sword" << endl; + cout << "\t2: Health" << endl; + cout << "\t3: Shield" << endl; + cout << "\t4: Food" << endl; + cout << "Item Number: "; + while(!validItem) + { + cin >> pickedItem; + cin.ignore(); + if(pickedItem == 1) + { + validItem = true; + itemToFind = "Sword"; + } + else if(pickedItem == 2) + { + validItem = true; + itemToFind = "Health"; + } + else if(pickedItem == 3) + { + validItem = true; + itemToFind = "Shield"; + } + else if(pickedItem == 4) + { + validItem = true; + itemToFind = "Food"; + } + else + { + cout << "Invalid Item. Please enter again:" << endl; + cout << "Item Number: "; + } + } + cout << endl; + // use the itemToFind with the find function + foundItemIndex = findItem(itemToFind); + // remove said item at index if found. + if(foundItemIndex > -1) + { + // remove item at index + inv.erase(inv.begin() + foundItemIndex); + } + } + // need an add function (prompts user to add an item, get num input to ask) + void addItem() + { + int pickedItem; + bool validItem = false; + // ask user which item they want to add. + cout << "Please pick an item to add to the inventory: " << endl; + cout << "\t1: Sword" << endl; + cout << "\t2: Health" << endl; + cout << "\t3: Shield" << endl; + cout << "\t4: Food" << endl; + cout << "Item Number: "; + while(!validItem) + { + cin >> pickedItem; + cin.ignore(); + if(pickedItem == 1) + { + validItem = true; + inv.push_back("Sword"); + } + else if(pickedItem == 2) + { + validItem = true; + inv.push_back("Health"); + } + else if(pickedItem == 3) + { + validItem = true; + inv.push_back("Shield"); + } + else if(pickedItem == 4) + { + validItem = true; + inv.push_back("Food"); + } + else + { + cout << "Invalid Item. Please enter again:" << endl; + cout << "Item Number: "; + } + } + cout << endl; + } }; // function definitions @@ -55,6 +189,74 @@ public: // main function int main() { - // + int menuSelInt = 4; + int iterateCount = 0; + MENU_OPTIONS menuFunction = START_INVENTORY_MANAGEMENT; + Inventory currentInventory; + // menu functionality + do + { + // print out the menu with all of the options available. + printf("Inventory Manager Program\n"); + printf(" Menu Options:\n"); + printf(" 1: Add Item to Inventory\n"); + printf(" 2: Display Items in Inventory\n"); + printf(" 3: Use Item in Inventory\n"); + printf(" 4: Quit Inventory Manager\n"); + printf("Select a menu option: "); + // ask for the menu selection + scanf("%d", &menuSelInt); + // print a new line + printf("\n"); + if(menuSelInt == 1) + { + if(iterateCount == 0) + { + menuFunction = START_INVENTORY_MANAGEMENT; + } + else + { + menuFunction = KEEP_INVENTORY_MANAGING; + } + iterateCount = iterateCount + 1; + } + else if(menuSelInt == 2) + { + // use the display function defined, increase the iterateCount + menuFunction = DISPLAY_INVENTORY; + iterateCount = iterateCount + 1; + currentInventory.displayInventory(); + } + else if(menuSelInt == 3) + { + // use the 'useItem' function defined. increase the iterateCount, + // use the DISPLAY_INVENTORY code since I can't be bothered to make another one. + menuFunction = DISPLAY_INVENTORY; + iterateCount = iterateCount + 1; + currentInventory.useItem(); + } + else + { + // decide to quit the inventory manager if all else fails. + menuFunction = QUIT_INVENTORY; + } + switch (menuFunction) + { + case START_INVENTORY_MANAGEMENT: + cout << "Starting Inventory Management." << endl; + // add item to inventory. + currentInventory.addItem(); + break; + case KEEP_INVENTORY_MANAGING: + cout << "Continuing Inventory Management." << endl; + // add item to inventory. + currentInventory.addItem(); + break; + + default: + break; + } + } while (menuFunction != QUIT_INVENTORY); + return 0; }