Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I can't figure out how to get the modify to work correctly. I have done most of the coding but can't figure out where I

I can't figure out how to get the modify to work correctly. I have done most of the coding but can't figure out where I need to change what or what I am missing. As shown below the ModifyItem needs to be able to modify description, price, and or quantity.image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

main.cpp

#include #include "ShoppingCart.h" #include "ItemToPurchase.h"

using namespace std;

void PrintMenu(ShoppingCart shoppingCart) { while(1) { cout > option; while (option != 'a' && option != 'd' && option != 'c' && option != 'i' && option != 'o' && option != 'q' ) { cin >> option; } switch (option) { case 'o': { cout > itemPrice; cout > itemQuantity; ItemToPurchase item1 = ItemToPurchase(itemName, itemDescription, itemPrice, itemQuantity); shoppingCart.AddItem(item1); break; } case 'd': { string itemName; cout > newQuantity; shoppingCart.ModifyItem(itemName); break; } case 'q': { exit(4); } } } } int main() { string customerName; string currentDate; cout

image text in transcribed

ItemToPurchase.cpp

#include using namespace std; #include "ItemToPurchase.h"

ItemToPurchase::ItemToPurchase() { ItemName = "none"; ItemDescription = "none"; ItemPrice = 0.0; ItemQuantity = 0; }

ItemToPurchase::ItemToPurchase(string itemName, string itemDescription, double itemPrice , int itemQuantity) { ItemName = itemName; ItemDescription = itemDescription; ItemPrice = itemPrice; ItemQuantity = itemQuantity; }

void ItemToPurchase::SetName(string itemName) { ItemName = itemName; } void ItemToPurchase::SetPrice(double itemPrice) { ItemPrice = itemPrice; } void ItemToPurchase::SetQuantity(int itemQuantity) { ItemQuantity = itemQuantity; } void ItemToPurchase::SetDescription(string itemDescription) { ItemDescription = itemDescription; }

string ItemToPurchase::GetName() { return ItemName; } double ItemToPurchase::GetPrice() { return ItemPrice; } int ItemToPurchase::GetQuantity() { return ItemQuantity; } string ItemToPurchase::GetDescription() { return ItemDescription; }

void ItemToPurchase::PrintItemCost() { cout

void ItemToPurchase::PrintItemDescription() { cout

image text in transcribed

ShoppingCart.cpp

/* Type your code here */ #include #include #include "ItemToPurchase.h" #include "ShoppingCart.h"

ShoppingCart::ShoppingCart() { CustomerName = "none"; CurrentDate = "January 1, 2016"; }

ShoppingCart::ShoppingCart(string customerName, string currentDate) { CustomerName = customerName; CurrentDate = currentDate; }

string ShoppingCart::GetCustomerName() { return CustomerName; }

string ShoppingCart::GetDate() { return CurrentDate; }

void ShoppingCart::AddItem(ItemToPurchase item) { CartItems.push_back(item); }

void ShoppingCart::RemoveItem(string itemName) { bool found = false; for (unsigned int i = 0; i

void ShoppingCart::ModifyItem(ItemToPurchase& item) { bool found = false; for (unsigned int i = 0; i

int ShoppingCart::GetNumItemsInCart() { int totalItems = 0; for (unsigned int i = 0; i

double ShoppingCart::GetCostOfCart() { double totalCost = 0.0; for (unsigned int i = 0; i

void ShoppingCart::PrintTotal() { cout

void ShoppingCart::PrintDescriptions() { cout This program extends the earlier "Online shopping cart' program. (Consider first saving your earlier program). (1) Extend the lemtoPurchase class per the following specifications: - Parameterized constructor to assign item name, item description, item price, and item quantity (default values of 0). (1 pt) - Public member functions - SetDescription() mutator & GetDescription0 accessor ( 2 pts) - Printitemcosto - Outputs the item name followed by the quantity. price, and subtotal - PrintitemDescription0-Outputs the item name and description - Private data members - string itemdescription - Initialized in default constructor to "none" Ex. of Printitemcost0 output: Dottled water 10$1$10 Ex of PrintitemDescription0 output: Bottled Water: Deer Park, 12 oz. (2) Create three new files: - ShoppingCarth- Class declaration - ShoppingCart cpp-Class definition - main.cpp - main0) function (Note: main0's functionality differs from the warm up) Bulld the ShoppingCart class with the following specifications. Note: Some can be function stubs (empty functions) initially, to be completed in later steps. - Default constructor - Parameterized constructor which takes the customer name and date as parameters (1 pt) Build the ShoppingCart class with the following specifications. Note: Some can be function stubs (empty functions) initially, to be completed in later steps. - Default constructor - Parameterized constructor which takes the customer name and date as parameters (1 pt) - Private data members - string customerName - Initialized in default constructor to "none" - string currentDate - Initialized in default constructor to "January 1, 2016" - vector > cartitems - Public member functions - GetCustomerName0 accessor (1 pt) - GetDate0 accessor (1 pt) - Additem0 - Adds an item to cartitems vector. Has a parameter of type ItemToPurchase. Does not return anything. - Removeltem0 - Removes item from cartltems vector. Has a string (an item's name) parameter. Does not return anything - If item name cannot be found, output this message: Iten not found in cart. Nothing removed. - Modifyltem0 - Modifies an item's description, price, and/or quantity. Has a parameter of type ItemToPurchase. Does not return anything. - If item can be found (by name) in cart, check if parameter has default values for description, price, and quantity. If not, modify item in cart. - If item cannot be found (by name) in cart, output this message: Item not found in cart. Nothing modified. - GetNumitemsinCarto (2 pts) - Returns quantity of all items in cart. Has no parameters. - GetCostofCart0 (2 pts) - Determines and returns the total cost of items in cart. Has no parameters. - Print Total0 - Outputs total of objects in cart. - If cart is empty, output this message: SHOPPING CART IS EMPTY - PrintDescriptions() - Outputs each item's description. Ex. of PrintTotal( output: John Doe's Shopping Cart - February 1, 2016 Number of Itemg: 8 Nike Romaleos 2 S189 - $378 Chocolate Chips 5$3$15 Powerbeats 2 Headphonea 18$128$128 Total: $521 Ex. of PrintDescriptions() output: John Doe's Shopping Cart - February 1, 2016 Item Deacriptiona Nike Romaleos: Volt color, Neightilfting ahoes Chocolate Chips: Semi-aweet Powerbeats 2 Headphones: Bluetooth headphones (3) In main0, prompt the user for a customer's name and todays date. Output the name and date. Create an object of type shoppingCart. (1 pt) Ex Enter cuatomer'a name: John Doe Enter today's date: February 1, 2016 Cuatomer name: John Doe Today's date: February 1, 2016 (4) Implement the PrintMenu0 function in main cpp to print the following menu of options to manipulate the shopping cart. (1 pt) Ex MENU a - Add iten to cart d - Remove item from cart c - Change item quantity i - Output items' descriptions - - Output shopping cart q - Quit (5) Implement the ExecuteMenu0 function in main.cpp that takes 2 parameters: a character representing the user's choice and the reference of a shopping cart. ExecuteMenu( performs the menu options described below, according to the user's choice. (1 pt) (6) In main0. call Printmenu0 and prompt for the user's choice of menu options. Each option is represented by a single character. If an invalid character is entered, continue to prompt for a valid choice. When a valid option is entered, execute the option by calling ExecuteMenu(0. Then, print the menu and prompt for a new option. Continue until the user enters ' q '. Hint: implement Quit before implementing other options. (1 pt) Ex MENU a - Rdd 1tem to cart d - Remove 1 tem from cart c - Change item quantity 1 - Output 1tems' descriptions - - output shopping cart q - Quit Choose an option: (7) Implement output shopping cart menu option in ExecuteMenu0. (3 pts) (7) Implement Output shopping cart menu option in ExecuteMenu0. ( 3 pts) Ex OUTPUT SHOPPING CART John Doe's Shopping Cart - February 1, 2016 Tumber of Itema: 8 Nike Romaleos 2 \$189 - \$378 Chocolate Chips 5$3$15 Powerbeats 2 Headphones 1 o $128$128 Total: $521 (8) Implement Output itern's description menu option in Executelenu(0. (2 pts) Ex OUTPUT ITENS' DESCRIPTIONS John Doe's shopping Cart - February 1, 2016 Item Deacriptions Nike Romaleos: Volt color, Neightlifting shoes Chocolate Chipa: semi-aweet Powerbeats 2 Headphones: Bluetooth headphones (9) Implement Add item to cart menu option in ExecuteMenu0). (3 pts) (9) Implement Add item to cart menu option in ExecuteMenu0. (3 pts) Ex ADD ITEM TO CART Enter the iten name: Nike Romaleos Enter the item description: Volt color, Weightlifting shoes Enter the item price: 189 Enter the item quantity: 2. (10) Implement remove item menu option in ExecuteMenu0. (4 pts) Ex REMOVE ITEM FRON CART Enter name of item to remove: Chocolate Chips (11) Implement Change item quantity menu option in ExecuteMenu0. Hint. Make new itemToPurchase object and use ItemToPurchase modifiers before using Modifyitem0 function. ( 5 pts) Ex CHANGE ITEM QUARTITY Enter the iten name: Nike Romaleos Enter the new quantity: 3 Findef ITEM_TO_PURCHASE_H zofine ITEN_TO_PURCTASE_I Binclude stining using nanespace std; class IteaToPurchase \{ private: string ItenNane; string Itembescription = "none"; double Itemprice

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Entity Alignment Concepts Recent Advances And Novel Approaches

Authors: Xiang Zhao ,Weixin Zeng ,Jiuyang Tang

1st Edition

9819942527, 978-9819942527

More Books

Students also viewed these Databases questions

Question

Evaluate employees readiness for training. page 275

Answered: 1 week ago