Foros del Web » Programando para Internet » Javascript »

Ayuda con calculo de area

Estas en el tema de Ayuda con calculo de area en el foro de Javascript en Foros del Web. Hola, vamos a ver si alguien me echa una mano...he conseguido hacer una calculadora de area, pones la medida en centimetros y la devuelve en ...
  #1 (permalink)  
Antiguo 02/03/2005, 07:06
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Ayuda con calculo de area

Hola, vamos a ver si alguien me echa una mano...he conseguido hacer una calculadora de area, pones la medida en centimetros y la devuelve en metros cuadrados, ahora lo que quiero es que al poner la medida haya que ponerla entre 300 y 2500 por ejemplo pero NO se como seguir, ademas quiero saber como hago para que en el resultado salga siempre una cifra superior a 1.25

MUCHAS GRACIAS
Un saludo

el codigo que tengo es este:



<HTML>
<HEAD>
<TITLE>formulario</TITLE>
</HEAD>
<BODY>

<SCRIPT language=JavaScript>

function Rec(form)
{form.recanswer.value = form.reclength.value * form.recheight.value / 10000}

function enRango(texto){
num = parseInt(texto) // tranformamos el texto en numérico
if (num >= 0300 && num <=2500){ // comparamos ...
alert("Esta entre 0300 y 2500")
return false
}
alert("NO Esta entre 0300 y 2500 ")
return true
}

</SCRIPT>

<FORM>
<CENTER>
<H1>&nbsp;</H1>
<H1>Rectangulo</H1>
<p>longitud lado mayor cm
<INPUT name=reclength onblur="Rec(this.form),enRango(rango.value)">
<BR>
longitud lado menor cm
<INPUT name=recheight onblur="Rec(this.form),enRango(rango.value)>
<BR>
Metros cuadrados
<INPUT name=recanswer>
<BR>
</p>
</center>
</FORM>

</BODY>
</HTML>
  #2 (permalink)  
Antiguo 02/03/2005, 07:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
... Por qué no creas esas validaciones dentro de la misma función... así condicionas a que si está dentro de tu valor haga la operación sino... nada.. por ejemplo algo así:
Código:
function Rec(form, num)
{
if (num < 300 || num>2500){ // comparamos ...
alert("Debe insertar valor entre 0300 y 2500");
} else {
form.recanswer.value = form.reclength.value * form.recheight.value / 10000
}
}
</SCRIPT>
Y llamamos a la función así:
<INPUT name=reclength onBlur="Rec(this.form, this.value)">

algo sencillo partiendo de lo que tienes... Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 02/03/2005, 07:55
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Cita:
Iniciado por ejjjque
ademas quiero saber como hago para que en el resultado salga siempre una cifra superior a 1.25
... no entiendo eso... no puedes hacer que el resultado de una operación te dé lo que tu quieras ... ... además creo que con 300 como valor mínimo te da un resultado mayor a 1.25... comprobando.... en efecto... el resultado mínimo que puedes obtener es 9...

Ahora bien... respondiendote técnicamente... tú tienes una operación, puedes ver ese resultado dentro de un if por ejemplo.. y efectuar acciones dependiendo de ello:
Código:
if(resultado<1.25) {
Imprimo 1.25 :-D por ejemplo
}
... sigo sin entender... creaste esos parámetros para evitar resultados menores a 1.25??? :pensado:
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 02/03/2005, 09:54
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Funciona!!

tenias razon es mas sencillo.

lo he hecho como dices y he cambiado el rango, queda asi:



<HTML>
<HEAD>
<TITLE>formulario</TITLE>
</HEAD>
<BODY>

<SCRIPT language=JavaScript>

function Rec(form, num)
{
if (num < 30|| num>250){ // comparamos ...
alert("Debes insertar valor entre 30 cm y 250 cm");
} else {
form.recanswer.value = form.reclength.value * form.recheight.value / 10000
}
}
</SCRIPT>

<FORM>
<CENTER>
<H1>&nbsp;</H1>
<H1>Rectangulo</H1>
<p>longitud lado mayor cm
<INPUT name=reclength onBlur="Rec(this.form, this.value)">
<BR>
longitud lado menor cm
<INPUT name=recheight onBlur="Rec(this.form, this.value)">
<BR>
Metros cuadrados
<INPUT name=recanswer>
</p>
</center>
</FORM>

</BODY>
</HTML>


Bueno ahora queda el tema del 1.25 antes no me habia explicado bien y el rango estaba mal, yo lo que quiero es que si pongo 110 x 110 el resultado va a ser de 1.21 metros cuadrados pero el minimo a facturar seria de 1.25 m2 por ejemplo, por eso necesito que la cifra que aparezca en el campo del resultado sea 1.25 o superior


Un saludo.
  #5 (permalink)  
Antiguo 02/03/2005, 11:15
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola ejjjque

He cambiado un poco tu código:

} else {
area=form.reclength.value * form.recheight.value / 10000;
if(area<1.25) area=1.25;
form.recanswer.value = area;
}
}
</SCRIPT>

Espero que te sirva. Saludos,
  #6 (permalink)  
Antiguo 02/03/2005, 17:05
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Claro que me sirve

Esto va funcionando pco a poco

ahora lo que necesito es que el rango de entrada de medidas sea distinto para la anchura y para la altura. y si la entrada de las medidas no es correcta que el campo de texto se quede vacio de nuevo

Os pongo el codigo de lo que tengo hasta ahora...

Un saludo.

(prometo no volver a poner en el titulo de otro tema la palabra ayudaaaaa)



<HTML>
<HEAD>
<TITLE>formulario</TITLE>
</HEAD>
<BODY>

<SCRIPT language=JavaScript>
function Rec2(form)
{form.totalmetros.value = form.recanswer.value * form.unidades.value}
function Rec(form, num)
{
if (num < 30|| num>250){ // comparamos ...
alert("Debes insertar valor entre 30 cm y 250 cm");
} else {
area=form.reclength.value * form.recheight.value / 10000;
if(area<1.25) area=1.25;
form.recanswer.value = area;
}
}

</SCRIPT>

<FORM>
<CENTER>
<H1>&nbsp;</H1>
<H1>Rectangulo</H1>
<p>longitud lado mayor cm
<INPUT name=reclength onBlur="Rec(this.form, this.value)">
<BR>
longitud lado menor cm
<INPUT name=recheight onBlur="Rec(this.form, this.value)">
<BR>
Metros cuadrados ___
<INPUT name=recanswer readonly>
<br>
unidades __________
<INPUT name=unidades onBlur="Rec2(this.form, this.value)">
<br>
total metros cuadrados
<INPUT name=totalmetros readonly>
</p>
</center>
</FORM>

</BODY>
</HTML>
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 23:45.