Question: where did i go wrong on this? in c + + / / = = = = = = = = = = = =

where did i go wrong on this? in c++
//=============================================================================
//
// Shop Practical
//
// Begin by working on the TODOs in the Item class first.
// Then, move on to Inventory.cpp
// Finally, complete the TODOs within the PracticalShop.cpp file
//
//=============================================================================
// TODO: When all work is done in Item.cpp and Inventory.cpp uncomment the following line.
#define INVENTORY
#include
#include
#include "Console.h"
#include "Utility.h"
#ifdef INVENTORY
#include "Inventory.cpp"
#endif
#include "ShopUtils.cpp"
using namespace std;
int main()
{
Utility::CleanUp();
#ifdef INVENTORY
Item HealthPotion;
HealthPotion.SetName("Health Potion");
HealthPotion.SetCost(10);
Item MagicPotion("Magic Potion", 15);
Item IronDagger("Iron Dagger", 30);
Item WoodenClub("Wooden Club", 20);
Item DaedricHelm("Daedric Helm", 120);
Item MageRobe("Mage Robe", 50);
Item AkaviriKatana("Akaviri Katana", 200);
Item WabbaJack("Wabbajack",500);
vector PlayerStarterItems ={ HealthPotion, HealthPotion, MagicPotion, WoodenClub };
vector StoreStartingItems ={ HealthPotion, MagicPotion, MagicPotion, IronDagger,
DaedricHelm, MageRobe, AkaviriKatana, WabbaJack };
#endif
// TODO: Define an Inventory object for the player, and an Inventory object for the store.
{
class Inventory {
public:
void SetGold(int gold);
void AddItem(const std::string& item);
};
Inventory playerInventory;
Inventory storeInventory;
/* TODO: Prompt the user for their name
*======================================
* Ask the user for their name and define a string for the
* name. Store their input in the string. If they entered
* an empty string (e.g."") assign them a default name.
*/
std::string playerName;
std::cout << "Enter your name: ";
std::getline(std::cin, playerName);
if (playerName.empty()){
playerName = "DefaultName";
};
// TODO: Use the SetGold method to give the player inventory 200 Gold.
playerInventory.SetGold(200);
/* TODO: Call the AddItem method
*================================
* Use the AddItem method to add each item in the
* PlayerStartingItems array to the player's inventory.
*/
const std::vector PlayerStartingItems ={ "Sword", "Shield", "Potion" };
for (const auto& item : PlayerStartingItems)
{
playerInventory.AddItem(item);
};
// TODO: Use the SetGold method to give the store inventory 350 Gold.
storeInventory.SetGold(350);
/* TODO: Call the AddItem method
*================================
* Use the AddItem method to add each item in the
* StoreStartingItems array to the store's inventory.
*/
const std::vector StoreStartingItems ={ "Helmet", "Armor", "Boots" };
for (const auto& item : StoreStartingItems)
{
storeInventory.AddItem(item);
};
while (true)
{
int sel =0;
do
{
Console::Clear();
/* TODO: Call the ShopUtils::ShowInventories method
*=================================================
* Call the ShowInventories method located within the
* ShopUtils class and pass in the player's name,
* the player's inventory and the store's inventory.
*/
ShopUtils::ShowInventories(playerName, playerInventory, storeInventory);
Console::SetCursorPosition(5,18);
const std::string menu = "What would you like to do?
1) Buy
2) Sell
3) Leave
_\b";
Console::Write(menu);
sel = Utility::ReadInt();
} while (!Utility::IsReadGood()||(sel <1|| sel >3));
if (3== sel)
break;
bool doBuy = false;
if (1== sel)
{
doBuy = true;
}
/* TODO: Call the ShopUtils::DoTransaction method
*=============================================
* Call the DoTransaction method locate within the
* ShopUtils class and pass it the player's name,
* the player's inventory, the store's inventory
* and the doBuy variable.
*/
ShopUtils::DoTransaction(playerName, playerInventory, storeInventory, doBuy);
}
Console::Clear();
Utility::WriteCentered("Thanks! Come back again!");
Utility::WaitForEnterKey();
}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!