Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include "Console.cpp"
  4. #include "Windows.h"
  5. #include "vector" // for using vectors
  6. #include "algorithm" //Sort
  7. #include "IceCreamShop.cpp"
  8.  
  9. using namespace std;
  10.  
  11. int main()
  12. {
  13. Console::SetTitle("IceCreamShop /Vectors");
  14.  
  15. string banner = Console::FormatBanner("Ice Cream Shop!");
  16. string command = ""; //add,del,sort
  17. string operation = ""; //add: newElement sort: name, price
  18. double price = 0; //add: price
  19. int index = 0; //del:index to be deleted
  20.  
  21. vector<IceCream> flavours;
  22.  
  23. flavours.insert(flavours.end(), IceCream("Vanilla", 1.50));
  24. flavours.insert(flavours.end(), IceCream("Chocolate", 1.50));
  25. flavours.insert(flavours.end(), IceCream("Strawberry", 2.00));
  26. flavours.insert(flavours.end(), IceCream("Raspberry", 2.50));
  27. flavours.insert(flavours.end(), IceCream("Blueberry", 2.50));
  28.  
  29. do
  30. {
  31. Console::Clear();
  32. Console::WriteLine(banner, Colour::Cyan);
  33. Console::WriteLine("We currently have " + to_string(flavours.size()) + " flavours! \n");
  34.  
  35. for (int i = 0; i < flavours.size(); i++)
  36. {
  37. printf("%i - %s - Price: %0.2f \n", i + 1, flavours[i].name.c_str(), flavours[i].price);
  38. }
  39.  
  40. //Prompt for a command
  41. Console::Write("\nEnter command: ");
  42. cin >> command;
  43. if (command == "add")
  44. {
  45. cin >> operation >> price;
  46. if (cin.fail()) Console::WriteError("Price must be numeric");
  47.  
  48. else
  49. {
  50. flavours.insert(flavours.end(),IceCream(operation, price));
  51. }
  52. }
  53. else if (command == "del")
  54. {
  55. cin >> index;
  56. if (index < 1 || index > flavours.size()) Console::WriteError("Invalid Flavour!");
  57.  
  58. else
  59. {
  60. index--;
  61. flavours.erase(flavours.begin() + index);
  62. }
  63. }
  64. else if (command == "sort")
  65. {
  66. cin >> operation;
  67. if (operation == "name")
  68. sort(flavours.begin(), flavours.end(), IceCream::CompareNames );
  69. else if (operation == "price")
  70. sort(flavours.begin(), flavours.end(), IceCream::ComparePrices );
  71.  
  72. }
  73. else
  74. {
  75. Console::WriteError("Invalid Command!");
  76. }
  77. //clear fail state
  78. cin.clear();
  79. //ignore leftover input
  80. cin.ignore(255, '\n');
  81. } while (true);
  82.  
  83. return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement