QBasic Turorial 6
En este capítulo vamos a escribir un menú simple de programa que puede ser usado en muchos de tus propios programas sólo cortándolo e insertándolo en él. Puedes necesitar cambiar un par de cosas, tales como el texto en el que está escrito en pantalla. Antes de seguir aquí tienes el código que debes escribir.
CLS CASE 2 PRINT "Has seleccionado el número 2" CASE 3 PRINT "Has seleccionado el número 3" CASE 4 PRINT "Has seleccionado el número 4" CASE ELSE PRINT "El número que has seleccionado no era de 1 a 4" END SELECTSCREEN 12 COLOR 12 LOCATE 3, 35 PRINT "Menú Principal del Usuario" LOCATE 4, 35 PRINT "------------------------------------" COLOR 10 LOCATE 10, 35 PRINT "1. Suma" LOCATE 12, 35 PRINT "2. Resta" LOCATE 14, 35 PRINT "3. División" LOCATE 16, 35 PRINT "4. Multiplicación" COLOR 6 LOCATE 25, 32 INPUT "Introduce un Número (1-4):", número SELECT CASE número CASE 1 PRINT "Has seleccionado el número 1"
¡Oh sí! Las cosas están empezando a ponerse emocionantes. Tómate un minuto y repásate el código. Como puedes ver contiene bastantes cosas de las que has aprendido hasta ahora. La única parte que no has aprendido es ésta:
SELECT CASE número CASE 1 PRINT "Has seleccionado el numero 1" CASE 2 PRINT "Has seleccionado el número 2" CASE 3 PRINT "Has seleccionado el número 3" CASE 4 PRINT "Has seleccionado el número 4" CASE ELSE (CUALQUIER CASO) PRINT "El número que has seleccionado no era de 1 a 4) END SELECT
Confía en mi, esta parte es muy fácil. Primero vamos a echar un breve vistazo al significado de la sentencia "SELECT CASE".
La sentencia "SELECT CASE" te permite ejecutar una de las muchas sentencias de un bloque. Por ejemplo una sentencia de un bloque es esto:
CASE 2 PRINT "Has seleccionado el número 2"
En el programa principal anterior tenemos 5 sentencias en un bloque que son "CASE 1", "CASE 2", "CASE 3", "CASE 4" y "CASE ELSE". Dentro de la parte "SELECT CASE" del programa anterior, la primera línea dice:
SELECT CASE número
Este comando pregunta para ejecutar una sentencia de un bloque en la que está contenida la variable llamada "número". Si echas un vistazo a esta parte del programa verás que tenemos un comando "INPUT" que está preguntando al usuario un número. El comando "SELECT CASE número" usará cualquier sentencia del bloque que se pregunte. Así que si yo escribo "2", dentro del programa, la sentencia "SELECT CASE" usará el "CASE 2", y luego ejecutará cualquier cosa que esté contenida en el programa después de esta y antes de que la frase "CASE 3" aparezca.
El comando "CASE ELSE" es usado sólo en caso de que el usuario no haya puesto
un número de 0 a 4. Si el comando "SELECT CASE número" no encuentre un caso al
que referir lo que ha escrito el usuario lo referirá al "CASE ELSE" para dar un
mensaje de error o cualquier cosa que el usuario pregunte.
Avanzando con "SELECT CASE"
CLS SCREEN 12 COLOR 12 LOCATE 3, 35 PRINT "Menú del Usuario Principal" LOCATE 4, 35 PRINT "-----------------------------------" COLOR 10 LOCATE 10, 35 PRINT "1-2. Suma" LOCATE 12, 35 PRINT "3-4. Resta" LOCATE 14, 35 PRINT "5-6. División" LOCATE 16, 35 COLOR 6 LOCATE 25, 32 INPUT "Número Entero (1-8):", número SELECT CASE número CASE 1 TO 2 PRINT "Has seleccionado el número 1 ó 2" CASE 3 TO 4 PRINT "Has seleccionado el número 3 ó 4" CASE 5 TO 6 CASE 7 TO 8 PRINT "Has seleccionado el número 7 ó 8" CASE ELSE PRINT "El número elegido no es de 1 a 8" END SELECT
Al primer vistazo puede no parecerte diferente del primer programa, pero debes darte cuenta de que insertamos la sentencia "TO" dentro de "SELECT CASE", "END SELECT" forma parte del programa. La sentencia "TO" te permite introducir un rango de algo dentro de la sentencia "SELECT CASE" e incluso dentro de los bucles "NEXT" y "FOR". Recuerda que has usado "TO" dentro de las sentencias "NEXT" y "FOR" en capítulos anteriores.
El programa actual te permitirás responder no sólo a uno, si no a dos números seleccionados dentro del rango. Así que para ejecutar la cuarta sentencia "CASE" necesitarías escribir 7 u 8 en el programa cuando se está corriendo.
El comando de abajo es de sentido común y puede ser comprendido si piensas en
qué está haciendo el programa. En el siguiente capítulo te
adentraré en un camino en el que manejarás números dentro del programa. Te he
explicado brevemente el uso en turoriales anteriores. Vamos a echar un vistazo
más a esto un poco más en profundidad. Gracias por leer esto hasta ahora.