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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda - Inconveniente con vector en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda - Inconveniente con vector en C++  (Leído 1,312 veces)
JADP

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Ayuda - Inconveniente con vector en C++
« en: 23 Octubre 2016, 01:17 am »

Un cordial saludo.

Me encuentro realizando un algoritmo en el programa Falcon C++. Un parte del algoritmo trata de ingresar artículos con su respectiva cantidad, esto lo implemente y funciona perfectamente. La cuestión es que no logro hacer que no se agreguen artículos que ya existen (si se ingresa un articulo y este ya existe, el mismo no se debe guardar / almacenar en el vector). Dicha parte del algoritmo deberia de funcionar asi: si se detecta que el usuario digito un articulo y presiono la tecla enter, el algoritmo deberá detectar si dicho articulo ya existe, si existe no se deberá dejar ingresar dicho articulo porque ya existe, notificara que ya existe y procedera a solicitar el siguiente articulo.

¿Cómo podría implementar la parte de que impida almacenar articulos repetidos?


- Aportó el codigo por si se requiere


Código
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <cstdio>
  6.  
  7. using namespace std;
  8.  
  9.  
  10. vector <string> art;
  11. vector <string> canti;
  12. vector <string> art_cero;
  13. string articulo, cantidad;
  14. int can, opc, a, b, c, n;
  15.  
  16.  
  17.  
  18. void Uno(int cant)
  19. {
  20. for (int i=0; i<cant; i++)
  21. {
  22. cout<<endl<<endl<<" Ingrese art\241culo No."<<i+1<<":  ";
  23. cin>>articulo;
  24. art.push_back(articulo);
  25. b=b+1;
  26. cout<<endl<<" Ingrese su cantidad:  ";
  27. cin>>cantidad;
  28. canti.push_back(cantidad);
  29.  
  30. if (b>1)
  31. {
  32. for(int i=0; i<art.size(); i++)
  33. {
  34.   if(articulo==art[i])
  35. {
  36.   c=c+1;
  37.   cout<<articulo;
  38.   if(c>1)
  39.   {
  40.   cout<<endl<<"El articulo existe, no sera agregado";
  41. art.pop_back();
  42. canti.pop_back();
  43. c=0;
  44.   }  
  45. }
  46. }
  47. }
  48.  
  49.  
  50.  
  51.  
  52. }
  53. }
  54.  
  55. void Dos(int cant)
  56. {
  57. if(cant==0)
  58. {
  59. cout<<endl<<endl<<endl<<" No existen articulos con sus cantidades, registrelos";
  60. }
  61. else
  62. {
  63. for (int i=0; i<art.size() && canti.size(); i++)
  64. {
  65. cout<<endl<<endl<<" Articulo:  "<<art[i]<<endl;
  66. cout<<" Cantidad:  "<<canti[i]<<endl;
  67. }
  68. }
  69. }
  70.  
  71.  
  72. void Tres(int cant)
  73. {
  74. for (int i=0; i<art.size() && canti.size(); i++)
  75. {
  76. if(canti[i]=="0")
  77. {
  78. art_cero.push_back(art[i]);
  79. }
  80. }
  81.  
  82. for (int i=0; i<a; i++)
  83. {
  84. cout<<endl<<endl<<" "<<art_cero[i];
  85. cout<<" Cantidad : 0"<<endl;
  86. }
  87. }
  88.  
  89.  
  90. int main()
  91. {
  92.     // Se indican los ejercicios que contiene el algoritmo y su opcion o numero de acceso o ejecución
  93.        cout<<endl<<endl<<endl<<endl<<endl<<" |-| Opciones |-|"<<endl<<endl;
  94.        cout<<endl<<" 1) Ingresar articulos con sus respectivas cantidades";
  95. cout<<endl<<" 2) Imprimir la lista total de art\241culos";
  96.        cout<<endl<<" 3) Consultar articulos cuya existencia sea 0";
  97.        cout<<endl<<" 4) Salir"<<endl<<endl;
  98.        cout<<endl<<" Introduzca una opcion de 1 a 4:  ";
  99.        cin>>opc;
  100.  
  101.  
  102. do
  103.    {
  104.       switch(opc)
  105.       {          
  106.   case 1:
  107.   {
  108.   system ("cls");
  109.  
  110.   cout<<endl;
  111.   printf("%c",168);cout<<" Cuantos art\241culos desea ingresar?:  ";
  112.   cin>>can;
  113.   Uno(can);  
  114. cout<<" ----------------------------------------------";
  115. return main();
  116. break;
  117.  }
  118.  
  119.         case 2:
  120.               {
  121.                  Dos(can);
  122. cout<<endl<<" ----------------------------------------------";
  123. return main();
  124. break;
  125.               }
  126.  
  127.             case 3:
  128.   {
  129.   Tres(can);
  130. cout<<" ----------------------------------------------";
  131. return main();
  132. break;  
  133.   }
  134.  
  135.             case 4:
  136.   {
  137.   // Se finaliza el programa
  138.       cout<<endl<<endl<<endl<<endl;
  139.   exit(0);
  140. break;
  141. cout<<" ----------------------------------------------";
  142. return main();
  143. break;
  144.   }
  145.   default:
  146.   // Se indica que no hay nada que ejecutar dentro de las opciones dadas
  147.   system ("cls");
  148.    cout<<endl<<" El numero ingresado no esta relacionado a una opci\242n"<<endl<<endl;
  149.        cout<<" ----------------------------------------------"<<endl<<endl;
  150.    return main();
  151.    break;
  152.     }
  153. }
  154. while(opc!=6);
  155. cout<<endl<<endl;
  156. }


No les pido que me realicen el código porque esa no es la idea, lo que deseo es:  ¿saber como se puede dar solución a esto, lo que explique al principio?


Gracias de antemano por vuestra atención y ayuda.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con inconveniente en formulario
PHP
gowend 3 1,762 Último mensaje 29 Septiembre 2011, 23:54 pm
por gowend
Ayuda con Ejercicio de vector! ;_;
Programación C/C++
Onigiri 7 3,251 Último mensaje 25 Octubre 2012, 17:39 pm
por naderST
ayuda!!! inconveniente con GPU :(
Hardware
Cergath 7 4,314 Último mensaje 26 Mayo 2013, 22:50 pm
por worldrings
ayuda en vector y matris
.NET (C#, VB.NET, ASP)
fadutra 4 2,163 Último mensaje 1 Julio 2014, 08:45 am
por fadutra
Ayuda con ordenamiento de vector
.NET (C#, VB.NET, ASP)
josezamp 2 1,921 Último mensaje 31 Octubre 2014, 12:05 pm
por Senior++
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines