Calculadora com funções básicas

Publicado por Sandro Marcell 25/10/2007

[ Hits: 5.914 ]

Homepage: http://sanmarcell.wordpress.com

Download calc.tcl




Calculadora tosca com as funções básicas: adição, subtração, multiplicação e divisão.

  



Esconder código-fonte

#!/usr/bin/tcl
#
# Simples calculadora com funções básicas. (Versão Tcl)
#
# Sandro Marcell ([email protected])
#
# Os operadores válidos são:
# (+) adição
# (-) subtração
# (.) multiplicação
# (/) divisão

# Checando parâmetros:
if {$argc != 3} {
   puts stderr "Uso: [file tail $argv0] VALOR1 OPERADOR VALOR2
   \r(Ex.: [file tail $argv0] 6 + 1)
   \rOperadores válidos:
   (+) Adição
   (-) Subtração
   (.) Multiplicação
   (/) Divisão"
   exit 1
}

# Fatiando opções:
set VLR1 [lindex $argv 0]
set OP    [lindex $argv 1]
set VLR2 [lindex $argv 2]

# Checando valores:
if {[regexp {[^-0-9.0-9]} $VLR1] != 0} {
   puts stderr "\[$VLR1\] Valor inválido."
   exit 1
} elseif {[regexp {[^-0-9.0-9]} $VLR2] != 0} {
   puts stderr "\[$VLR2\] Valor inválido."
   exit 1
} 

# Se ocorrerem erros:
proc tclx_errorHandler {AVISO} {
   puts stderr "\a-> Erro de entrada/saída"
}

# Iniciando cálculos:
switch -- $OP {
   # Adição:
   "+" {
      # Calculando...
      set RST [expr ($VLR1 + $VLR2)]
      puts stdout "Resultado: $RST"
   }
   # Subtração:
   "-" {
      set RST [expr ($VLR1 - $VLR2)]
      puts stdout "Resultado: $RST"
   }
   # Multiplicação:
   "." {
      set RST [expr ($VLR1 * $VLR2)]
      puts stdout "Resultado: $RST"
   }
   # Divisão:
   "/" {
      set RST [expr ($VLR1 / $VLR2)]
      puts stdout "Resultado: $RST"
   }
   default {
      puts stderr "\[$OP\] Operador inválido.
      \rOperadores válidos:
      (+) Adição
      (-) Subtração
      (.) Multiplicação
      (/) Divisão"
   }
}
# Fim

Scripts recomendados

Script lixeira em Tcl

Calculadora em Tcl/Tk

tkFind

Cadeias aleatórias

Script em Tcl para descompactar arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário