elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / C++ - Opinión sobre código; tienda básica en: 9 Enero 2021, 20:19 pm
Muy buenas comunidad.
He programado un simple programa que trata de simular un paseo por un supermercado; quisiera opiniones y una retroalimentación del código que dejaré a continuación.

Código
  1. #include<iostream>
  2. #include<string.h>
  3.  
  4. using namespace std;
  5.  
  6. /*
  7. run: variable bool para ser constante en la ejecución del programa
  8. money: variable int que simulara dinero para la compra de productos
  9. minusMoney: variable int que restará el valor de "money" según el precio del producto
  10. multProduct: variable int que sirve para multiplicar el precio de un producto según sea la cantidad pedida
  11. shoppCart: variable string, array; simulará un carrito de compras
  12. marketProduct: variable iny, array; serán los productos
  13. */
  14. int main(){
  15. int vegeFruts[3]; //vegetales y frutas
  16. vegeFruts[0] = 2; //tomates
  17. vegeFruts[1] = 4; //papas
  18. vegeFruts[2] = 4; //lechuga
  19. int breadRep[3]; //panaderia y reposteria
  20. breadRep[0] = 2; //pan
  21. breadRep[1] = 4; //pastel
  22. breadRep[2] = 2; //dona
  23. int snack[3]; //snacks
  24. snack[0] = 2; //mani
  25. snack[1] = 3; //nuez
  26. snack[2] = 4; //papas fritas
  27. int drink[3]; //bebidas
  28. drink[0] = 5; //soda
  29. drink[1] = 5; //jugo
  30. drink[2] = 4; //te
  31. int money = 2000, minusMoney = 0, multProduct = 0, opc = 0, indFil = 0, indCol = 0;
  32. string shoppCart[16];
  33. string totalProductNum[16];
  34. string totalProduct[3][4];
  35. //vegetales y frutas
  36. totalProduct[0][0] = "Tomate";
  37. totalProduct[1][0] = "Papa";
  38. totalProduct[2][0] = "Lechuga";
  39. //panaderia y reposteria
  40. totalProduct[0][1] = "Pan";
  41. totalProduct[1][1] = "Pastel";
  42. totalProduct[2][1] = "Dona";
  43. //snack
  44. totalProduct[0][2] = "Mani";
  45. totalProduct[1][2] = "Nuez";
  46. totalProduct[2][2] = "Mani confitado";
  47. //bebidas
  48. totalProduct[0][3] = "Soda";
  49. totalProduct[1][3] = "Jugo";
  50. totalProduct[2][3] = "Te";
  51. string multProductString;
  52. bool run = true;
  53.  
  54. for(int i = 0; i < 16; i++){
  55. shoppCart[i] = "[vacio]";
  56. }
  57. while(run){
  58. do{
  59. system("cls");
  60. cout<<"\t--- Bienvenido a la tienda ---\nUsted cuenta con "<<money<<" de dinero."<<endl;
  61. cout<<"1. Vegetales y frutas.\n2. Panaderia y reposteria.\n3. Snacks.\n4. Bebidas.\n5. Ver carrito.\n6. Salir."<<endl;
  62. cin>>opc;
  63. indCol = opc-1;
  64. }while(opc < 1 || opc > 6);
  65. switch(opc){ //opciones
  66. case 1: //vegetales y frutas
  67. do{
  68. system("cls");
  69. cout<<"1. Tomate | $2\n2. Papa | $4\n3. Lechuga | $4"<<endl;
  70. cin>>opc;
  71. indFil = opc-1;
  72. }while(opc <= 0 || opc > 3);
  73. minusMoney = vegeFruts[opc-1];
  74. break;
  75. case 2: //panaderia y reposteria
  76. do{system("cls");
  77. cout<<"1. Pan | $2\n2. Pastel | $4\n3. Dona | $2"<<endl;
  78. cin>>opc;
  79. indFil = opc-1;
  80. }while(opc <= 0 || opc > 3);
  81. minusMoney = breadRep[opc-1];
  82. break;
  83. case 3: //snack
  84. do{
  85. system("cls");
  86. cout<<"1. Mani | $2\n2. Nuez | $3\n3. Mani confitado | $4"<<endl;
  87. cin>>opc;
  88. indFil = opc-1;
  89. }while(opc <= 0 || opc > 3);
  90. minusMoney = snack[opc-1];
  91. break;
  92. case 4: //bebidas
  93. do{
  94. system("cls");
  95. cout<<"1. Soda | $5\n2. Jugo | $4\n3. Te | $4"<<endl;
  96. cin>>opc;
  97. indFil = opc-1;
  98. }while(opc <= 0 || opc > 3);
  99. minusMoney = drink[opc-1];
  100. break;
  101. case 5: //carrito
  102. do{
  103. system("cls");
  104. for(int i = 0; i < 16; i++){
  105. if(shoppCart[i] == "[vacio]"){
  106. cout<<i+1<<". "<<shoppCart[i]<<endl;
  107. }else{
  108. cout<<i+1<<". "<<totalProductNum[i]<<" x "<<shoppCart[i]<<endl;
  109. }
  110. }
  111. cout<<"1: Quitar producto del carro. | 2: Salir."<<endl;
  112. cin>>opc;
  113. if(opc == 1){
  114. do{
  115. cout<<"Escriba el numero que corresponde al producto que desea retirar; 0 para salir."<<endl;
  116. cin>>opc;
  117. if(opc == 0){
  118. break;
  119. }
  120. shoppCart[opc-1] = "[vacio]";
  121. }while(opc <= 0 || opc > 16 || shoppCart[opc-1] == "[vacio]");
  122. }else if(opc == 2){
  123. break;
  124. }
  125. }while(opc <= 0 || opc > 2);
  126. opc = 5;
  127. break;
  128. case 6: //salir
  129. run = false;
  130. }
  131. if(opc < 5){
  132. do{
  133. cout<<"Cantidad: "; cin>>multProduct; //multiplicar el precio del producto segun la cantidad
  134. }while(multProduct <= 0);
  135. multProductString = multProduct;
  136. minusMoney *= multProduct;
  137. if(money - minusMoney > 0){ //restar dinero
  138. money -= minusMoney;
  139. }else{
  140. cout<<"No hay suficiente dinero."<<endl;
  141. system("pause");
  142. }
  143. for(int i = 0; i < 16; i++){
  144. if(shoppCart[i] == "[vacio]"){
  145. totalProductNum[i] = to_string(multProduct);
  146. shoppCart[i] = "[" + totalProduct[indFil][indCol] + "]";
  147. break;
  148. }
  149. }
  150. }
  151. }
  152.  
  153. return 0;
  154. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines