Advertisement
Guest User

Eric-1

a guest
May 20th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. // vendingMachine.cpp : Defines the entry point for the console application.
  2.  
  3. //
  4.  
  5. #include "stdafx.h"
  6.  
  7. #include <iostream>
  8.  
  9. #include <string>
  10.  
  11. using namespace std;
  12.  
  13. class CSnacks
  14.  
  15. {
  16.  
  17. string nameSnacks;
  18.  
  19. double price;
  20.  
  21. int stockList;
  22.  
  23. int soldList;
  24.  
  25. double moneyGained;
  26.  
  27. public:
  28.  
  29. CSnacks();
  30.  
  31. CSnacks(string , double,int);
  32.  
  33. ~CSnacks();
  34.  
  35. bool buyItem(double& moneyEntered);
  36.  
  37. void setSnacksVal(string str , double iprice , int iInStock);
  38.  
  39. void getSnacksVal(string &str,double &rate,int &instock);
  40.  
  41. void getQuarter(double&);
  42.  
  43. void displayVendingMachine();
  44.  
  45. };
  46.  
  47. CSnacks::CSnacks()
  48.  
  49. {
  50.  
  51. nameSnacks = "";
  52.  
  53. price = 0.0;
  54.  
  55. stockList = 0;
  56.  
  57. soldList = 0;
  58.  
  59. }
  60.  
  61. CSnacks::CSnacks(string str,double dval,int ival)
  62.  
  63. {
  64.  
  65. nameSnacks = str;
  66.  
  67. price = dval;
  68.  
  69. stockList = ival;
  70.  
  71. soldList = 0;
  72.  
  73. }
  74.  
  75. CSnacks::~CSnacks()
  76.  
  77. {
  78.  
  79. cout<<""<<soldList;
  80.  
  81. }
  82.  
  83. bool CSnacks::buyItem(double& moneyEntered)
  84.  
  85. {
  86.  
  87. bool bVal = false;
  88.  
  89. if(moneyEntered>price)
  90.  
  91. {
  92.  
  93. moneyEntered = moneyEntered-price;
  94.  
  95. stockList--;
  96.  
  97. soldList++;
  98.  
  99. bVal = true;
  100.  
  101. }
  102.  
  103. return bVal;
  104.  
  105. }
  106.  
  107. void CSnacks::displayVendingMachine()
  108.  
  109. {
  110.  
  111. cout<<1<<" "<<nameSnacks<<" "<<price<<" "<<stockList<<endl;
  112.  
  113. }
  114.  
  115. void CSnacks::getQuarter(double& iRate)
  116.  
  117. {
  118.  
  119. iRate = price;
  120.  
  121. }
  122.  
  123. void CSnacks::setSnacksVal(string str , double iprice , int iInStock)
  124.  
  125. {
  126.  
  127. nameSnacks = str;
  128.  
  129. price = iprice;
  130.  
  131. stockList = iInStock;
  132.  
  133. }
  134.  
  135. void CSnacks::getSnacksVal(string &str,double &rate,int &instock)
  136.  
  137. {
  138.  
  139. str = nameSnacks;
  140.  
  141. rate = price;
  142.  
  143. instock = stockList;
  144.  
  145. }
  146.  
  147. int _tmain(int argc, _TCHAR* argv[])
  148.  
  149. {
  150.  
  151. CSnacks *objSnacks[3];
  152.  
  153. objSnacks[0] = new CSnacks;//chips
  154.  
  155. objSnacks[0]->setSnacksVal("chips",1.75,3);
  156.  
  157. objSnacks[1] = new CSnacks("candy",1.25,5);//candy
  158.  
  159. objSnacks[2] = new CSnacks("soda",1.00,2);//soda
  160.  
  161. cout<<"Item# "<<"ItemName "<<"Price "<<"Instock "<<endl;
  162.  
  163. cout<<".........................................."<<endl;
  164.  
  165. for (int i =0 ; i<3 ;i++)
  166.  
  167. {
  168.  
  169. objSnacks[i]->displayVendingMachine();
  170.  
  171. }
  172.  
  173. int iquarter;
  174.  
  175. double drate;
  176.  
  177. cout<<"enter the number of quarter = "<<endl;
  178.  
  179. cin>>iquarter;
  180.  
  181. switch(iquarter)
  182.  
  183. {
  184.  
  185. case 3:
  186.  
  187. {
  188.  
  189. objSnacks[0]->getQuarter(drate);
  190.  
  191. cout<<"Amount Entered = "<<drate<<endl;
  192.  
  193. }
  194.  
  195. break;
  196.  
  197. case 5:
  198.  
  199. {
  200.  
  201. objSnacks[1]->getQuarter(drate);
  202.  
  203. cout<<"Amount Entered = "<<drate<<endl;
  204.  
  205. }
  206.  
  207. break;
  208.  
  209. case 2:
  210.  
  211. {
  212.  
  213. objSnacks[2]->getQuarter(drate);
  214.  
  215. cout<<"Amount Entered = "<<drate<<endl;
  216.  
  217. }
  218.  
  219. break;
  220.  
  221. default:
  222.  
  223. cout<<" .. "<<endl;
  224.  
  225. }
  226.  
  227. cout<<"Enter a number between 1 to 3 to make your selection"<<endl;
  228.  
  229. int ienterVal;
  230.  
  231. cin>>ienterVal;
  232.  
  233. switch (ienterVal)
  234.  
  235. {
  236.  
  237. case 1:
  238.  
  239. {
  240.  
  241. bool ret = objSnacks[0]->buyItem(drate);
  242.  
  243. cout<<"$"<<drate<<"dispensed below"<<endl;
  244.  
  245. }
  246.  
  247. break;
  248.  
  249. case 2:
  250.  
  251. {
  252.  
  253. bool ret = objSnacks[1]->buyItem(drate);
  254.  
  255. cout<<"$"<<drate<<"dispensed below"<<endl;
  256.  
  257. }
  258.  
  259. break;
  260.  
  261. case 3:
  262.  
  263. {
  264.  
  265. bool ret = objSnacks[2]->buyItem(drate);
  266.  
  267. cout<<"$"<<drate<<"dispensed below"<<endl;
  268.  
  269. }
  270.  
  271. break;
  272.  
  273. default:
  274.  
  275. cout<<" .. "<<endl;
  276.  
  277. }
  278.  
  279. cout<<"continue? (Y/N)"<<endl;
  280.  
  281. char ch;
  282.  
  283. cin>>ch;
  284.  
  285. if(ch == 'y' || ch == 'Y')
  286.  
  287. {
  288.  
  289. cout<<"Item# "<<"ItemName "<<"Price "<<"Instock "<<endl;
  290.  
  291. cout<<".........................................."<<endl;
  292.  
  293. for (int i =0 ; i<3 ;i++)
  294.  
  295. {
  296.  
  297. objSnacks[i]->displayVendingMachine();
  298.  
  299. }
  300.  
  301. }
  302.  
  303. return 1;
  304.  
  305. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement