Calculadora com funções básicas
Publicado por Sandro Marcell 25/10/2007
[ Hits: 6.584 ]
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
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Linux Mint não conecta Wi-Fi sem fio (21)
Criar perfil temporário no Active Directory samba4-21 (2)
Meu Kubuntu não inicia, além do modo de recuperação (no meu dualboot (1)