Foros del Web » Programando para Internet » PHP »

Ayuda de Logica, desesperadamente busco ayuda :(

Estas en el tema de Ayuda de Logica, desesperadamente busco ayuda :( en el foro de PHP en Foros del Web. creo que mas que PHP me esta fallando la logica en esto, tratare de explicar y ver si alguien me puede ayudar, tal vez sea ...
  #1 (permalink)  
Antiguo 22/07/2004, 22:32
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 5 meses
Puntos: 0
Ayuda de Logica, desesperadamente busco ayuda :(

creo que mas que PHP me esta fallando la logica en esto, tratare de explicar y ver si alguien me puede ayudar, tal vez sea muy sencillo pero se me acabaron las ideas

digamos que tengo una forma de reservacion de 3 elementos
Adultos, Niños, Jovenes

cuando envio la forma quiero dividir el total de estos elementos para sacar los cuartos, hasta aqui no hay problema

digamos que:
$adultos = 9;
$ninos = 9;
$jovenes = 9;

me daria un total de 27 personas, si a mi cuarto le caben 6 personas esto me daria 5 cuartos, de nuevo hasta aqui sin problemas, mi problema es el siguiente:

al cuarto solo le caben x numero de personas, 2 adultos o 2 jovenes, o 1 adulto y 1 joven van incluidos en el precio por cada cuarto, tambien 2 niños son gratis por cuarto.

lo que quiero saber es como calcular el numero de adultos, jovenes y niños extras (los que no se quedan por el mismo precio de los cuartos) que son los que tendria que cobrar aparte, se tienen que calcular aparte, por que son precios diferentes por cada 1.

espero me haya explicado y alguien me pudiera ayudar, por que ahora si estoy desesperado :(

Gracias de antemano
__________________
Shanti Castillo G.
  #2 (permalink)  
Antiguo 23/07/2004, 06:08
 
Fecha de Ingreso: mayo-2004
Mensajes: 398
Antigüedad: 13 años, 7 meses
Puntos: 4
Buenas....

Simplemente decirte que te expliques un poco mejor que no se entiende muy bien. Yo la verdad no me enterado de casi na...

Así igual te responde la gente...
  #3 (permalink)  
Antiguo 23/07/2004, 06:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Normalmente lo que se hace es ver primero como lo haces a mano, y luego intentar programar ese metodo.

Asi de un vistazo rapido, veo que adulto y joven son equivalentes, y por otro lado tienes los niños. Si tienes que 5 es el numero de cuartos, tienes que por el precio del cuarto tienes:

5 x 2 niños = espacio para 10 niños
5 x 2 adultos/jovenes = espacio para 10 adultos/jovenes

incluido en el precio de la habitacion.

Asi que tienes

9 niños - 10 espacios para niños = -1 niño extra
18 adultos/jovenes - 10 espacios para adultos/jovenes = 8 adultos/jovenes extra

Pero te repito que lo mejor es que hagas una coleccion de casos de pruebas, y calcules a mano los resultados. Luego programas la solucion y pruebas los casos de prueba. Si todos dan bien, perfecto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 23/07/2004, 14:05
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 5 meses
Puntos: 0
Gracias Josemi, pero mi problema es exactamente que los adultos y los jovenes no son lo mismo, en el sentido de que se cobran diferente. por lo tanto tu calculo esta bien, solo que necesito saber cuantos jovenes son extras y cuantos adultos son extras.

tratare de explicarlo de manera mas sencilla:
esto es para un sistema de reservaciones, tengo mi formulario con 3 campos
Adultos
Jovenes
Niños

digamos que yo pongo 9 n cada uno de esos campos, necesito la manera se saber cuantas personas extras cobrar, se como cacular el numero de cuartos para estas 26 personas, eso no es problema en caso de que fueran 26 serian 5 cuartos y en cada cuarto caben 6 personas .

Cada cuarto tienen derecho a 2 niños gratis, 2 adultos o 2 jovenes o 1 joven y 1 adulto gratis, pero al final yo necesito saber cuantos adultos extras, y cuantos jovenes extras me quedaron.

espero ahora si me haya explicado mejor
__________________
Shanti Castillo G.
  #5 (permalink)  
Antiguo 23/07/2004, 15:02
 
Fecha de Ingreso: junio-2004
Mensajes: 48
Antigüedad: 13 años, 6 meses
Puntos: 0
Te lo hago en pseudoVB vale?


'tenemos Adultos,niños y jovenes
'tenemos precioadulto, precioniño, preciojoven

-vamos a suponer que los adultos pagan mas que los jovenes y estos mas que los niños (tu lo adptas sino)

personas=jovenes+niños+aldultos.
habitaciones=parte entera(personas/6) +1 ' hasta aquí bien

-primero llenamos las habitaciones de adultos gratis porque son los que pagan mas

capacidadparaadultosgratis=habitaciones*2
adultosquepagan=adultos-capacidadparaadultosgratis
if adultosqu.. <0 then adult...=0

capacidadparajovenesgratis=habitaciones*2-capacidadparaadultosgratis
jovenesquepagan=jovenes-capa..
if jov..<0 then jov..=0

capacidadparababesgratis=habitaciones*2
babesquenovienenconunpanbajoelbrazo=niños- capac..nñonojodas ..etc...
if babesq...<0 then babes..=0

end.

Creo que se entiende,espero que funcine.

SALU2

Última edición por Jz38; 23/07/2004 a las 15:05
  #6 (permalink)  
Antiguo 23/07/2004, 15:12
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 5 meses
Puntos: 0
Gracias lo probare :)
__________________
Shanti Castillo G.
  #7 (permalink)  
Antiguo 23/07/2004, 17:59
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 5 meses
Puntos: 0
Jz38, te debo una!

sabia que era de logica y me fallaba ese departamento.

ya lo converti a PHP y funciono perfectamente.

Gracias :)
__________________
Shanti Castillo G.
  #8 (permalink)  
Antiguo 25/07/2004, 15:32
 
Fecha de Ingreso: junio-2004
Mensajes: 48
Antigüedad: 13 años, 6 meses
Puntos: 0
Shantic, el programa tiene un fallo.
habitaciones=habitacones/6+1 siempre y cuando la division no de entero ,osea que no sobre nadie para abrir otro cuarto.
Espero lo hayas corregido al probarlo pero por si acaso te lo pongo.
  #9 (permalink)  
Antiguo 25/07/2004, 15:47
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 5 meses
Puntos: 0
Cita:
Iniciado por Jz38
Shantic, el programa tiene un fallo.
habitaciones=habitacones/6+1 siempre y cuando la division no de entero ,osea que no sobre nadie para abrir otro cuarto.
Espero lo hayas corregido al probarlo pero por si acaso te lo pongo.
si, de todas maneras con los cuartos no tenia problemas :)

si hago la division me da por ejemplo 4.5776 pero con el ciel() de PHP lo corijo a 5 :)

de todas maneras, gracias por la nota, y de nuevo gracias por la formula :)
__________________
Shanti Castillo G.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:30.