Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/10/2015, 01:13
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Duda con booleanos

Cita:
Iniciado por ekis182 Ver Mensaje
No es un juego es un ejercicio y en c++ se puede poner "||" o "or" que es exactamente lo mismo como el "and" o "&&" o "!" o "not"
Cierto a medias. Acostúmbrate a no usar AND, OR, NOT y compañía. En el último estándar de C++ están marcados como DEPRECATED, por lo que es algo que tiene fecha de caducidad.

Con respecto a tu problema:

Código C:
Ver original
  1. bool fizz = (((ite % 3) != 0 or (ite % 5) != 0) && ((ite % 3) != 0 && (ite % 5) != 0));

fizz será cierto si
  • ite NO es múltiplo de 3, ite NO es múltiplo de 3 e ite NO es múltiplo de 5
  • ite NO es múltiplo de 5, ite NO es múltiplo de 3 e ite NO es múltiplo de 5
Como puedes notar ese chequeo es un poco raro... ya que al final se podría resumir en:

Código C:
Ver original
  1. bool fizz = ((ite % 3) != 0 && (ite % 5) != 0);

Además, a fizz le asignas el valor FUERA del bucle, por lo que su valor no va a cambiar por más veces que modifiques el valor de ite dentro del bucle.

Un saludo.