Vamos a utilizar nuevamente la sentencia choice, de bifurcación múltiple para crear una calculadora sencilla. El código del programa es el siguiente (con letra roja) y los comentarios explicativos habrá que omitirlos (con letra azul), hay que copiar el código en un editor de textos plano (como el notepad) y colocarle el nombre deseado al programa sin olvidar la extensión .bat

@echo off

Quitamos el eco de los comandos.

:inicio

cls

Colocamos una etiqueta llamado inicio para que después de cada operación por medio de una sentencia goto se nos vuelva a mandar al inicio del programa, después de esto limpiamos pantalla.

echo Dame un numero=

set /p n1=

echo Dame otro numero=

set /p n2=

Pedimos un par de números para hacer las operaciones y las guardamos con las instrucción set /p en variables como n1 y n2.

echo 1. Suma

echo 2. Resta

echo 3. Multiplica

echo 4. Divide

echo 5. Salir

Elaboramos el menú que aparecerá en pantalla, con las opciones correspondientes que serán las operaciones aritméticas

choice /c:12345 /n /t:10 /d:5 /m:”Elige una operacion:”

En esta línea establecemos la instrucción choice y sus parámetros, con el parámetro /c establecemos las teclas válidas para la elección de las opciones del menú (que serán las teclas 1, 2, 3, 4 y 5 únicamente); con el parámetro /n eliminamos que se nos muestre las teclas disponibles en el momento de la pregunta; con la opción /t establecemos el tiempo en segundos para que se ejecute la opción por defecto (el tiempo será en este caso de 10 segundos); con el parámetro /d establecemos la opción por defecto (en este caso la opción por defecto será la 5, salir); y finalmente con el parámetro /m y entrecomillado ponemos el mensaje que mostrara el programa para la elección de las opciones.

 

if errorlevel 5 goto fin

if errorlevel 4 goto Divide

if errorlevel 3    goto Multiplica

if errorlevel 2    goto Resta

if errorlevel 1 goto Suma

En este conjunto de líneas capturamos la tecla pulsado por el usuario por medio de la instrucción “iferrorlevel” y la mandamos a una etiqueta diferente para cada tecla mediante la instrucción goto, cada una de las etiquetas corresponde a las operaciones aritméticas que se pueden realizar con los números que previamente solicitamos y almacenamos en variables.

 

:Suma

set /a r=n1+n2

echo El resultado es %r%

pause

goto inicio

La etiqueta suma,  se llega aquí si la tecla pulsada fue 1, por medio de la instrucción set /a se hace la operación  aritmética sumando las dos variables “n1” y “n2” y asignando el resultado a la variable “r”; Se imprime el resultado de la operación y se usa la instrucción pause para que detenga un momento el flujo del programa en este punto, hasta que se presione una tecla eso, una vez ocurrido esto se manda el flujo del programa al inicio del mismo hacia la etiqueta inicia por medio de un sentencia goto.

En el resto de las etiquetas ocurre lo mismo, la diferencia radica en la operación aritmética que ocurre en cada una de ellas:

 :Resta

set /a r=n1-n2

echo El resultado es %r%

pause

goto inicio

 

:Multiplica

set /a r=n1*n2

echo El resultado es %r%

pause

goto inicio

 

:Divide

set /a r=n1/n2

echo El resultado es %r%

pause

goto inicio

 

:fin

La etiqueta fin, es a donde se dirige el flujo del programa cuando la tecla pulsada es 5, que corresponde a la opción salir.

Esperando haber disipado algunas dudas, a la espera de sus comentarios.

Powered By DT Author Box

Written by chris

Programación BATCH. Elaboración de una calculadora usando choice.

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: