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
 

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?

Preguntas similares