Calculadora com funções básicas
Publicado por Sandro Marcell 25/10/2007
[ Hits: 6.803 ]
Homepage: http://sanmarcell.wordpress.com
Calculadora tosca com as funções básicas: adição, subtração, multiplicação e divisão.
#!/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
Corretagem 0.1 - calcula corretagem padrão de operações da Bovespa
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
esqueci a senha do boot do notebook dell vostro 3300 (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (7)
estou na 22.1 e não é atualizado pra 22.4 via "sudo full-upgrade&... (2)









