Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/05/2011, 16:14
hmps
 
Fecha de Ingreso: enero-2010
Mensajes: 49
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: ¿Switch infino?

Muchas gracias a los dos! Basicamente lo que quise hacer es lo que dijo sam90. Les dejo el código para que lo puedan ver y disculpen la tardanza! No usé el switch porque me parece que con el no se puede hacer lo q yo queria.

Es que tengo una lista dinamica y quiero que lo q el usuario escogiera lo fuera igual. No se si este bonito el codigo pero no tengo mucha experiencia programando.

Código C++:
Ver original
  1. i=0;
  2.        
  3.     do{
  4.         cout << "Escriba el número del artículo que desea comprar (-1 si no desea comprar): ";
  5.         cin >> seleccion;
  6.                
  7.         do{
  8.         if(seleccion != -1){
  9.         ya = false;
  10.         seleccion -=1;
  11.        
  12.         while(seleccion > contador){
  13.        
  14.         cout << "Opción invalida, trate con otra: ";
  15.         cin >> seleccion;
  16.         seleccion -=1;
  17.         }
  18.         while(seleccion+1 <= 0){
  19.         cout << "Opción invalida, trate con otra: ";
  20.         cin >> seleccion;
  21.         seleccion -=1;
  22.         }
  23.        
  24.         if (seleccion == i){
  25.        
  26.         cout << "Escriba la cantidad que desea de este artículo: ";
  27.         cin >> cantidad_articulo;
  28.        
  29.             if(cantidad_articulo > inventario[i] && inventario[i] != 0){
  30.                 ya=true;
  31.                     if(inventario[i] != 0)
  32.                         contar_articulos_totales++;
  33.                 total_pagar[contar_articulos_totales] = precio_articulo[i]*inventario[i];
  34.                 cout << "Usted compró " << inventario[i] << " artículo(s)." << endl;
  35.                 cout << "El total de esta compra es $" << total_pagar[contar_articulos_totales] << ".\n";
  36.                 inventario[i] = 0;
  37.             }
  38.             else if(inventario[i] == 0){
  39.                 total_pagar[contar_articulos_totales];
  40.                 ya=true;
  41.             }
  42.             else if(cantidad_articulo < 0){
  43.                 cout << "Opción invalida.\n";
  44.                 ya=true;
  45.                 }
  46.             else {
  47.                 ya=true;
  48.                     if(inventario[i] != 0)
  49.                         contar_articulos_totales++;
  50.                 total_pagar[contar_articulos_totales] = precio_articulo[i]*cantidad_articulo;
  51.                 cout << "Usted compró " << cantidad_articulo << " artículo(s)." << endl;
  52.                 cout << "El total de esta compra es $" << total_pagar[contar_articulos_totales] << ".\n";
  53.  
  54.                 inventario[i] -= cantidad_articulo;
  55.  
  56.                 }
  57.         }
  58.        
  59.         i++;       
  60.         seleccion++;
  61.        
  62.         if(seleccion == i)
  63.         i=0;
  64.        
  65.         }
  66.         }while (ya == false);
  67.     }while ((seleccion != -1));