Calculadora com funções básicas

Publicado por Sandro Marcell 25/10/2007

[ Hits: 6.343 ]

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

Relógio analógico

Script em Tcl para descompactar arquivos

Renomeando arquivos de forma padronizada

Calculadora em Tcl/Tk

tkFind


  

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