Calculadora com funções básicas

Publicado por Sandro Marcell 25/10/2007

[ Hits: 6.480 ]

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 (sandro_marcell@yahoo.com.br)
#
# 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

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

Corretagem 0.1 - calcula corretagem padrão de operações da Bovespa

Player de musica

Script em Tcl para descompactar arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts