Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2014, 04:38
Avatar de anggiebs
anggiebs
 
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Múltiplos de un número

Hola a todos :)!

Estoy haciendo una práctica en la que me dicen que se puede solicitar una pista cada 2 intentos y que solo se puede solicitar 2 pistas como máximo.
Al decirme que solo se puede pedir cada 2 intentos,sé que tengo que verificar si "intentos" es múltiplo de 2 .
En cuanto a lo de solicitar como máximo 2 pistas,he creado dos contadores que se llaman: pistasDisponibles y pistasUsadas.

Se supone que si hasta el intento 4 no he pedido ninguna pista,acumulo entonces 2 pistas en "pistasDisponibles"(porque he pasado por el intento 2 y el intento 4 y ambos son múltiplos de 2) .Otro ejemplo,si en el intento 2 no he pedido pista ,se supone que sumo 1 a pistasDisponibles y que por tanto en el intento 3 puedo usarlo.

Sin embargo,mi código solo accede a darme pistas cuando es múltiplo de 2 ...
Espero puedan ayudarme ,gracias de antemano.
--------------------------------------------------------
Parte del if y else principales son exactamente iguales excepto por la condición if(pistasDisponibles >=0){..} que en el else,en lugar de 0,he puesto un 1 .


Código C++:
Ver original
  1. int pistasUsadas=0;
  2. int pistasDisponibles=0;
  3.  
  4. [...]
  5.  
  6. //Solo se puede conseguir pistas mientras que la variable intentos sea un múltiplo de 2.
  7.  
  8. if(intentos%2 == 0){   
  9.     pistasDisponibles++;
  10.            
  11.     if(pistasDisponibles >=0){
  12.           if(pistasUsadas < PISTAS_MAX){ //PISTAS_MAX es una constante con valor 2.
  13.              generarPista(secreto); //Función que me genera una pista
  14.               pistasUsadas++;   /*Cuando el usuario usa una pista,se incrementa la variable pistasUsadas porque se debe tener en cuenta que solo se      pueden dar 2 pistas. */
  15.                    
  16.                   pistasDisponibles--;     
  17.            }
  18.      else{
  19.               cout << "Lo siento!.Ya has gastado el maximo de pistas." << endl;
  20.       }
  21.       }
  22. }
  23.  
  24. else{
  25.     if(pistasDisponibles >=1){
  26.         //Lo mismo que he puesto en el if de arriba :)
  27.     }  
  28. }

Última edición por anggiebs; 30/07/2014 a las 04:45