Calculadora com funções básicas
Publicado por Sandro Marcell 25/10/2007
[ Hits: 6.343 ]
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
Script em Tcl para descompactar arquivos
Renomeando arquivos de forma padronizada
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (5)
Problema Envio email GLPI Versao 10.0.15 (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (25)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba