SImples calculadora em Shell

Publicado por Lucas Reis 07/08/2007

[ Hits: 6.771 ]

Homepage: https://twitter.com/makumberos_face

Download Passatempo.sh




Essa vai sem cores, aínda faltou colocar as cores mas tudo bem :)


Eu não tinha nada para fazer no estágio, então criei essa calculadora em Shell.

  



Esconder código-fonte

#!/bin/bash
   echo ""
   echo ""
      echo "Seja bem vindo!"
sleep 1
while :
do
clear
      echo "Escolha uma das seguintes opções:"
   echo ""
      echo "A - Soma"
      echo "B - Subtracção"
      echo "C - Multiplicação"
      echo "D - Divisão"
      echo "E - x^2"
      echo "F - x^3"
      echo "G - x^y"
      echo "H - Raíz Quadrada! ->Não deu certo, por favor me digam como"
      echo "M - Mostrar memórias"
   echo ""
   echo ""
      echo "L - Limpar consola"
      echo "S - Sair"
      echo "";read menu
      #-------------------------
      
if [ $menu = "A" ] || [ $menu = "a" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read soma1
      echo "Insira o 2º valor:";read soma2
   echo ""
   a=$[soma1+soma2]
      echo "$soma1 + $soma2 = $[soma1+soma2]"
      sleep 5
      echo ""
      echo "Adicionar resultado na memória? [S/N]";read memsoma
if [ $memsoma = "S" ] || [ $memsoma = "s" ]
then
   memoriaA=$a
   fi
else   
   
#----------------------------------------
if [ $menu = "B" ] || [ $menu = "b" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read sub1
      echo "Insira o 2º valor:";read sub2
   echo ""
   b=$[sub1-sub2]
      echo "$sub1 - $sub2 = $[sub1-sub2]"
      sleep 5
   echo ""
      echo "Adicionar resultado na memória? [S/N]";read memsub
if [ $memsub = "S" ] || [ $memsub = "s" ]
then
   memoriaB=$b
   fi
else   
#----------------------------------------
if [ $menu = "C" ] || [ $menu = "c" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read mult1
      echo "Insira o 2º valor:";read mult2
   echo ""
   c=$[mult1*mult2]
      echo "$mult1 * $mult2 = $[mult1*mult2]"
      sleep 5
   echo ""      
      echo "Adicionar resultado na memória? [S/N]";read memmult
if [ $memmult = "S" ] || [ $memmult = "s" ]
then
   memoriaC=$c
   fi
else   
#----------------------------------------
if [ $menu = "D" ] || [ $menu = "d" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read div1
      echo "Insira o 2º valor:";read div2
   echo ""
   d=$[div1/div2]
      echo "$div1 / $div2 = $[div1/div2]"
      sleep 5
   echo ""
      echo "Adicionar resultado na memória? [S/N]";read memdiv
if [ $memdiv = "S" ] || [ $memdiv = "s" ]
then
   memoriaD=$d
   fi
else
#-----------------------------------------
if [ $menu = "E" ] || [ $menu = "e" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read xq1
   echo ""
   e=$[xq1**2]
      echo "$xq1 ^ 2 = $e"
      sleep 5
   echo ""
      echo "Adicionar resultado na memória? [S/N]";read memxq
if [ $memxq = "S" ] || [ $memxq = "s" ]
then
   memoriaE=$e
   fi
else
#------------------------------------------
if [ $menu = "F" ] || [ $menu = "f" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read xq2
   echo ""   
   f=$[xq2**3]
      echo "$xq2 ^ 3 = $f"
      sleep 5
   echo ""
      echo "Adicionar resultado na memória? [S/N]";read memxq2
if [ $memxq2 = "S" ] || [ $memxq2 = "s" ]
then
   memoriaF=$f
   fi
else
#-------------------------------------------
if [ $menu = "G" ] || [ $menu = "g" ]
then
   echo ""
   echo ""
   echo ""
      echo "Insira o 1º valor:";read xy1
      echo "Insira o 2º valor:";read xy2
   echo ""
   g=$[xy1**xy2]
      echo "$xy1 ^ $xy2 = $g"
      sleep 5
   echo ""
      echo "Adicionar resultado na memória? [S/N]";read memxy
if [ $memxy = "S" ] || [ $memxy = "s" ]
then
   memoriaG=$g
   fi
else
#---------------------------------------------
if [ $menu = "H" ] || [ $menu = "h" ]
then
   echo ""
   echo ""
   echo ""
   
      echo "Insira o valor:";read raiz
   echo ""
   #--->h=$[raiz**0.5]
      echo "A raiz quadrada de $raiz é" #--> #"$h"
      sleep 5
   echo ""
      echo "Adicionar resultado na memória? [ S/N]";read memraiz
if [ $memraiz = "S" ] || [ $memraiz = "s" ]
then
   memoriaH=$h
   fi
else
#----------------------------------------------
if [ $menu = "M" ] || [ $menu = "m" ]
then
   echo ""
   echo ""
   echo ""
      echo "Memória soma = $memoriaA"
      echo "Memória Subtracção = $memoriaB"
      echo "Memória Multiplicação = $memoriaC"
      echo "Memória Divisão = $memoriaD"
      echo "Memória x^2 = $memoriaE"
      echo "Memória x^3 = $memoriaF"
      echo "Memória x^y = $memoriaG"
      echo "memória raíz quadrada = $memoria H"
      sleep 5
else
#-----------------------------------------------
if [ $menu = "L" ] || [ $menu = "l" ]
then
      echo "Limpando..."
      sleep 2
else
#-----------------------------------------------
if [ $menu = "S" ] || [ $menu = "s" ]
then
      echo "Deseja mesmo sair? [S/N]";read sair
if [ $sair = "S" ] || [ $sair = "s" ]
then
   echo ""
   echo ""
   echo ""
      echo "Obrigado por testar esse meu passatempo!"
   sleep 1
      echo "Criado por:  Tainan Lucas R. Reis"
   sleep 2
   reset
exit

fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi

fi
done

Scripts recomendados

S-info

firewall

Cores em script

List 1.0

Tratamento de zeros a esquerda


  

Comentários
[1] Comentário enviado por f_Candido em 10/08/2007 - 21:47h

Bem interessante, vale ressaltar que a divisão é por inteiros. Queria saber pra validar como seria feito por exemplo se o denominador fosse igual a zero??
No aguardo.
Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts