Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include "Console.cpp"
- #include "Windows.h"
- #include "vector" // for using vectors
- #include "algorithm" //Sort
- #include "IceCreamShop.cpp"
- using namespace std;
- int main()
- {
- Console::SetTitle("IceCreamShop /Vectors");
- string banner = Console::FormatBanner("Ice Cream Shop!");
- string command = ""; //add,del,sort
- string operation = ""; //add: newElement sort: name, price
- double price = 0; //add: price
- int index = 0; //del:index to be deleted
- vector<IceCream> flavours;
- flavours.insert(flavours.end(), IceCream("Vanilla", 1.50));
- flavours.insert(flavours.end(), IceCream("Chocolate", 1.50));
- flavours.insert(flavours.end(), IceCream("Strawberry", 2.00));
- flavours.insert(flavours.end(), IceCream("Raspberry", 2.50));
- flavours.insert(flavours.end(), IceCream("Blueberry", 2.50));
- do
- {
- Console::Clear();
- Console::WriteLine(banner, Colour::Cyan);
- Console::WriteLine("We currently have " + to_string(flavours.size()) + " flavours! \n");
- for (int i = 0; i < flavours.size(); i++)
- {
- printf("%i - %s - Price: %0.2f \n", i + 1, flavours[i].name.c_str(), flavours[i].price);
- }
- //Prompt for a command
- Console::Write("\nEnter command: ");
- cin >> command;
- if (command == "add")
- {
- cin >> operation >> price;
- if (cin.fail()) Console::WriteError("Price must be numeric");
- else
- {
- flavours.insert(flavours.end(),IceCream(operation, price));
- }
- }
- else if (command == "del")
- {
- cin >> index;
- if (index < 1 || index > flavours.size()) Console::WriteError("Invalid Flavour!");
- else
- {
- index--;
- flavours.erase(flavours.begin() + index);
- }
- }
- else if (command == "sort")
- {
- cin >> operation;
- if (operation == "name")
- sort(flavours.begin(), flavours.end(), IceCream::CompareNames );
- else if (operation == "price")
- sort(flavours.begin(), flavours.end(), IceCream::ComparePrices );
- }
- else
- {
- Console::WriteError("Invalid Command!");
- }
- //clear fail state
- cin.clear();
- //ignore leftover input
- cin.ignore(255, '\n');
- } while (true);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement