≡ Menu

Shell Script To Simulate a Simple Calculator

{ 4 comments… add one }
  • cristian September 25, 2010, 11:11 pm

    aqui les dejo una calculadora basica y cientifica .

    #!/bin/bash
    case $1 in
    #
    -h)echo ” elegir un tipo de calculadora:
    – calculadora basica: Contiene a las cuatro operaciones basicas(+ ,- ,* , /).
    una vez en esta opcion se eligen los numeros y la operacion
    a efectuar dando un enter cada vez que introdusca un numero
    o operacion.

    – calculadora cientifica: Contiene las operaciones necesarias para efectuar calculos
    relacionados con las ciencias y la ingenieria(sen, cos, tan,
    cosen, sec, cotan, arctan, ln, expo, %),una vez en esta,
    se elige el numero de la operacion que se desee y se oprime
    enter, una vez efectuado el script le pedira que ingrese un
    numero, cuando lo anote aprieta enter y saldra por pantalla
    el resultado.”

    exit
    ;;
    esac

    # Limpiar pantalla
    clear
    # Imprime en la terminal calculadora cientifica, es de adorno:
    echo “##################################################”
    echo “# C A L C U L A D O R A C I E N T I F I C A #”
    echo “##################################################”
    # Espacio:
    echo “”
    # Menu interactivo:
    echo ” Seleccione un tipo de calculadora ”
    echo “”
    # Opciones del menu interactivo:
    echo ” 1 -> calculadora basica ”
    echo ” 2 -> calculadora cientifica”
    # Espacio:
    echo “”
    # Leer el menu interactivo:
    read calculadora
    # Si la opcion es 1:
    if [ $calculadora = “1” ]
    # Entonces:
    then
    # Pide datos al usuario de la calculadora basica:
    echo “Introduce el primer numero: ”
    # Lee el num1:
    read num1
    # Pide datos al usuario sobre la operacion a efectuar:
    echo “Introduce operacion (+, -, *, /):”
    # Leer operacion:
    read oper
    # Imprime en pantalla:
    echo “Introduce el segundo numero: ”
    read num2
    # Calculadora:
    res=$(echo “$num1 $oper $num2″|bc -l)
    # Imprime en pantalla:
    echo ” -> $num1 $oper $num2 = $res”
    # FIN CALCULADORA BASICA
    # si la opcion es 2:
    elif [ $calculadora = “2” ]
    then
    # Imprime el siguiente menu interactivo:
    echo “Ingresa alguna funcion”
    echo “”
    echo ” 1 -> sen ”
    echo ” 2 -> cos ”
    echo ” 3 -> tan ”
    echo ” 4 -> sec ”
    echo ” 5 -> cosec ”
    echo ” 6 -> cotan ”
    echo ” 7 -> arctan ”
    echo ” 8 -> logaritmo natural ”
    echo ” 9 -> raiz cuadrada ”
    echo ” 10 -> “A” elevado a “B” ”
    echo ” 11 -> El a% de b ”
    echo “”
    # Leer la operacion elegida:
    read “operacion”
    # Si es la 1:
    if [ $operacion = “1” ]
    then
    echo “Ingrese el angulo a evaluar en radianes”
    read angulo
    # Calculadora:
    res=$(echo “s($angulo)”|bc -l)
    # Imprime en pantalla:
    echo “=> sen($angulo)= $res”
    # Si es la 2:
    elif [ $operacion = “2” ]
    then
    echo “Ingrese el angulo a evaluar en radianes”
    read angulo
    # Calculadora
    res=$(echo “c($angulo)”|bc -l)
    echo “=> cos($angulo)= $res”
    # Si es la 3:
    elif [ $operacion = “3” ]
    then
    echo “Ingrese el angulo a evaluar en radianes”
    read angulo
    res=$(echo “s($angulo)/c($angulo)”|bc -l)
    echo “=> tan($angulo)= $res”
    elif [ $operacion = “4” ]
    then
    echo “Ingrese el angulo a evaluar en radianes”
    read angulo
    res=$(echo “1/c($angulo)”|bc -l)
    echo “=> sec($angulo)= $res”
    elif [ $operacion = “5” ]
    then
    echo “Ingrese el angulo a evaluar en radianes”
    read angulo
    res=$(echo “1/s($angulo)”|bc -l)
    echo “=> cosec($angulo)= $res”
    elif [ $operacion = “6” ]
    then
    echo “Ingrese el angulo a evaluar en radianes”
    read angulo
    res=$(echo “c($angulo)/s($angulo)”|bc -l)
    echo “=> cotan($angulo)= $res”
    elif [ $operacion = “7” ]
    then
    echo “Ingrese el numero a evaluar”
    read numero
    res=$(echo “a($numero)”|bc -l)
    echo “=> arctan($numero)= $res”
    elif [ $operacion = “8” ]
    then
    echo “Ingrese el numero a evaluar”
    read numero
    res=$(echo “l($numero)”|bc -l)
    echo “=> ln($numero)= $res”
    elif [ $operacion = “9” ]
    then
    echo “Ingrese el numero a evaluar”
    read numero
    res=$(echo “sqrt($numero)”|bc -l)
    echo “=> raiz($numero)= $res”
    elif [ $operacion = “10” ]
    then
    echo “Ingrese el numero que quieres elevar”
    # Lee el numero ingresado:
    read numero1
    # Imprime en pantalla:
    echo “Ingresa la potencia”
    # Lee el numero ingresado:
    read numero2
    # Calculadora:
    res=$(echo “$numero1^$numero2″|bc -l)
    # Imprime como resultado en la pantalla:
    echo “=> $numero1 elevado a $numero2= $res”
    elif [ $operacion = “11” ]
    then
    echo “Ingresa el porcentaje que quieres”
    read numero1
    echo “Ingresa el numero al que se le sacara el porcentaje”
    read numero2
    res=$(echo “$numero1*$numero2/100″|bc)
    echo “=> el $numero1% de $numero2= $res”
    # Termino de la cadena:
    fi

    # Termino de la cadena principal:
    fi

  • Mik3langelo March 29, 2009, 10:21 pm

    hi
    maybe you writed wrong s# correct is $#

  • Avinash T M February 5, 2009, 6:03 pm

    hi,
    in my system , if i typed fi it shows bash:[s# command not found

    why it so.
    waiting for your reply

  • Andrew Johnstone October 28, 2008, 1:06 am

    Whats wrong with “bc – An arbitrary precision calculator language “???

    echo “((5*2)/2)%2” | bc

Security: Are you a robot or human?

Leave a Comment