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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: C++ - Opinión sobre código; tienda básica en: 11 Enero 2021, 03:07 am
Hola, gracias por tomarte el tiempo de leer mi código.
Citar

Supongo que aun no aprendes sobre structs o clases? hacer funciones?
De hecho sí sé de qué tratan; intentaba probar de cómo sería si no tuviera esas posibilidades. Veo que no termino muy bien.
Citar
La variable multProductString parece superflua, la asignas, pero no la usas mas. Sugiero eliminarla.
¡Oops, se me fue! Mi principal intención era de que, al momento de observar el carrito de compras, te señalara la cantidad del producto y el respectivo producto; pero al momento de ver qué pasaba, olvidé un detalle del comportamiento de C++, que es el tema de "Números + caracteres" (es decir, que según qué número se escriba, me devuelve un carácter), entonces tuve que hacer otra jugada.
Citar
La variable totalProduct guarda nombres, no totales. Cambiale el nombre para que sea mas facil de leer/entender el codigo.
Igual pensaba que no era el mejor nombre para una variable.
Citar
El ciclo que tienes en la linea 143 lo haces haya o no haya dinero. Esta bien eso?
No, no está bien. Me tuve que haber dado cuenta de ese detalle; qué despistado. Gracias por hacerlemo saber.
2  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