Calculadora com funções básicas

Publicado por Sandro Marcell 25/10/2007

[ Hits: 5.722 ]

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

Crivo de Eratóstenes Simples em Tcl (sem Tk)

Cadeias aleatórias

Script lixeira em Tcl

Script em Tcl para descompactar arquivos

Visualizador de imagem


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts