Aprendiendo a programar

18/03/2008 - 17:05 por V | Informe spam
Hola amigos. Estoy aprendiendo a programar y si no os importa os iré
solicitando alguna ayudita.
Ahora me ha surgido la siguiente.
Estoy haciendo un programita que me calcula el valor de un cateto de un
triángulo rectángulo conociendo la hipotenusa y el otro cateto.
Se trata de que cuando el cateto introducido sea mayor que el valor de la
hipotenusa el programa finalice, en caso contrario que nos vaya pidiendo si
queremos continuar.
Estoy aprendiendo las estructuras DO WHILE...LOOP; DO...LOOP WHILE;
DO...LOOP UNTIL; IF...END IF; SELECT CASE, FOR...TO...NEXT
En mi programa todo funciona bien, excepto que cuando el cateto introducido
es mayor que la hipotenusa no consigo saber como hacer finalizar el programa
y me sigue preguntando si deseo continuar. ¿Cómo puedo hacerlo?
Muchas gracias a todos y todas :-)
==Sub programa1 ()
'Calcular el cateto de un triángulo rectángulo a partir del otro cateto y la
hipotenusa.
'Datos a introducir: hipotenusa y cateto
'Si el cateto es mayor que la hipotenusa, el programa nos da un mensaje de
error y se acaba
'FORMULA: h^2 = c^2 + c^2
'El pograma nos da como resultado el valor del otro cateto y nos pregunta si
queremos volver a empezar
'*********************************************************************************************************
Dim hipo As Double
Dim cat1 As Double
Dim cat2 As Double
Dim respuesta As String * 1
respuesta = "S"
ActiveSheet.Range("A1").Value = "HIPOTENUSA"
ActiveSheet.Range("B1").Value = "CATETO 1"
ActiveSheet.Range("C1").Value = "CATETO 2"
Do While respuesta = "S" Or respuesta = "s"
hipo = InputBox("Valor de la hipotenusa?")
ActiveSheet.Range("A2").Value = hipo
cat1 = InputBox("Valor del cateto 1?")
ActiveSheet.Range("B2").Value = cat1
If cat1 <= hipo Then
cat2 = Sqr(hipo ^ 2 - cat1 ^ 2)
ActiveSheet.Range("C2").Value = cat2
respuesta = InputBox("¿Quieres continuar?")
Else
ActiveSheet.Range("D1").Value = "¡ERROR! -el cateto introducido no
puede ser mayor que la hipotenusa-"
End If
Loop
End Sub

Preguntas similare

Leer las respuestas

#1 V
19/03/2008 - 22:49 | Informe spam
Si coloco la instrucción exit sub después de Else, el programa finaliza pero
no aparece el mensaje de error. ¿Dónde debo colocarla?
Respuesta Responder a este mensaje
#2 Juan M
19/03/2008 - 23:51 | Informe spam
Hola V,

después de poner el mensaje, es decir, detrás de

Else
ActiveSheet.Range("D1").Value = "¡ERROR! -el cateto introducido no
puede ser mayor que la hipotenusa-"
EXIT SUB
End If

Un saludo,
Juan


"V" escribió
Si coloco la instrucción exit sub después de Else, el programa finaliza
pero no aparece el mensaje de error. ¿Dónde debo colocarla?


Respuesta Responder a este mensaje
#3 V
23/03/2008 - 19:43 | Informe spam
Ok. Muchas gracias Juan M.
:-)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida