shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: [Novato/Dúvidas] Iniciante em shell script, calcu


From: Enio Onodera
Subject: Re: [shell-script] Re: [Novato/Dúvidas] Iniciante em shell script, calculadoras...
Date: Fri, 29 Apr 2011 08:17:44 -0700 (PDT)

Chico,
eu faria uma calculadora simples, usando o que você usou, desse modo: 

#!/bin/bash
[ -z $1 ] && echo "Utilize 'script valores'. Por exemplo: ./script.sh 2+2" && 
exit
echo $(($1))

Abs,Enio Onodera
--- Em sex, 29/4/11, Julio C. Neves <address@hidden> escreveu:

De: Julio C. Neves <address@hidden>
Assunto: Re: [shell-script] Re: [Novato/Dúvidas] Iniciante em shell script, 
calculadoras...
Para: address@hidden
Data: Sexta-feira, 29 de Abril de 2011, 10:46















 
 



  


    
      
      
      Fala Chico,

uma sugestão para vc implementar a versão 2.0



###########################

Elem=$(yad --form --image gnome-calculator --text "Bem vindo a Calculadora -

<big><b>by CHICO</b></big>" --field "Primeiro Número:" --field "Segundo

Número:" --field "Operação:CB" 0 0 'Soma!Subtração!Multiplicação!Divisão')

|| exit 1

###########################

IFS='|' read Num1 Num2 Opcao <<< "$Elem"

###########################



Usei as separações com jogo da velha, só para dizer que são somente duas

linhas de código, já que o e-mail vai quebrar tudo.



Nesse ponto vc já terá as variáveis Num1 Num2 Opcao com seus valores. Isso

significa que vc poderia trocar todo o código até o ninho de if's (que eu

trocaria por um case) por essas 2 linhas somente.



Alguém da lista me mandou um e-mail em pvt me falando do YAD. Testei o sw e

achei simplesmente revolucionário. Aconselho a todos o instalarem pois é um

fork do zenity com inúmeras facilidades a mais como o diálogo --form que

usei.



Falando em --form, poderíamos até esnobar usando SpinButtons para capturar

os números. Basta trocar a primeira linha por:



Elem=$(yad --form --image gnome-calculator --text "Bem vindo a Calculadora -

<big><b>by CHICO</b></big>" --field "Primeiro Número:NUM" --field "Segundo

Número:NUM" --field "Operação:CB" '0!0..100!1'

'0!0..100!1''Soma!Subtração!Multiplicação!Divisão') || exit 1



Se vcs instalarem, vão se surpreender inclusive com a qualidade da

apresentação. Já mandei um artigo para o Cantinho do Shell das dicas-l mas

não sei se foi publicado. se não foi, em breve o será.



Estou com mais um livro pronto e, entre outros temas, abordo o YAD, sobre o

qual escrevi mais de 70 páginas A4 de forma a explorar todos os seus

recursos.



OBS:

1 - O YAD já está com essa bola toda e ainda está na versão 0.10.1. Imagine

o que vem por aí.

2 - O autor do sw é um ucraniano, Victor Ananjevsky, que já convidei a dar

uma palestra na LatinoWare 2011.



Cordialmente,



Julio Neves



*Quer programar bem em Shell?*



*Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*

My profiles: [image: Twitter] <http://twitter.com/juliobash>

Contact me: [image: Skype/] julioneves1



Em 28 de abril de 2011 15:07, fampower <address@hidden> escreveu:



>

>

> Enilton, Boa tarde.

>

> Por esses dias fiz 2 calculadoras uma mais simples ou outra mais completa

> no sentindo de uso de comandos.

>

> Enviando a CALCULADORA SIMPLES AGORA, e no outra mensagem vou te enviar,

> com o tratamento da divisão de por ZERO e o uso de funçao.

>

> Lembrando se Copiar e COLAR devido os comentários em um editor VI, VIM,ou

> bloco de notas que seja já fica mais limpo o codigo.

>

> #!/bin/bash

> #

> #calculadora001.sh - Calculadora Simples -

> #

> ######################################

> #Autor: Francisco A. de Moraes #

> ######################################

> #

> #

> #

> #----------------------------------------------------

> #Licenca Livre - Normas GPL

> #----------------------------------------------------

> #

> #

> #----------------------------------------------------

> #Descricao: O programa realiza calculo simples. (adicao, multiplicacao,

> subtracao e divisao)

> #----------------------------------------------------

> #

> #

> #----------------------------------------------------

> #Historico de Desenvolvimento

> #-v1.0 - 07/04/2011 - Francisco A. de Moraes

> # - Tratando Parametros para receber valores e operadores

> #-v1.1 - 08/04/2011 - Francisco A. de Moraes

> #-Corrigindo parametro e trabalhando com o IF

> #----------------------------------------------------

> #

> clear

> echo ""

> echo "----------------------------------------------------------"

> echo " Bem vindo a Calculadora - by CHICO "

> echo ""

> echo ""

> echo ""

> echo "----------------------------------------------------------"

> echo

> "##############################################################################################"

> echo ""

> echo " Versao 1.1a - GPL - "

> echo ""

> echo ""

> echo

> "###############################################################################################"

> sleep 2

>

> echo ""

> echo "Digite o primeiro valor: "

> read NUM1

> echo "Digite o segundo valor: "

> read NUM2

>

> clear

>

> echo ""

> echo "----------------------------------------------------------"

> echo " Bem vindo a Calculadora - by CHICO "

> echo "----------------------------------------------------------"

>

> echo "

> 1 - SOMAR

> 2 - SUBTRAIR

> 3 - MULTIPLICAR

> 4 - DIVIDIR

> "

>

> echo ""

> read OPCAO

>

> if [ "$OPCAO" = '1' ]

> then

> RESU=$((NUM1+NUM2))

> echo "$RESU"

>

> elif [ "$OPCAO" = '2' ]

> then

> RESU=$((NUM1-NUM2))

> echo "$RESU"

>

> elif [ "$OPCAO" = '3' ]

> then

> RESU=$((NUM1*NUM2))

> echo "$RESU"

>

> elif [ "$OPCAO" = '4' ]

> then

> RESU=$((NUM1/NUM2))

> echo "$RESU"

> fi

>

> echo "Finalizado, deseja utilizar novamente.? [s/n]"

> read OPCAO1

>

> if [ "$OPCAO1" = 's' ]

> then

> ./calculadora001

> else

> exit

> fi

>

> --- Em address@hidden, "enilton1sh" <binbash.sh@...>

> escreveu

>

> >

> > Hmm então terei que mudar todas as minhas calculadoras tirando a função

> do bash e passar para o bc. rsrs

> >

> > Obrigado por responder. o/

> >

> > --- Em address@hidden, Tiago Peczenyj <tiago.peczenyj@>

> escreveu

> > >

> > > Com bash suporta apenas aritmetica de inteiros. Se quiser algo alem use

> o bc

> > > ou o dc, inclusive eles tem boas features (como o bc que suporta

> numeros

> > > incrivelmente grantes).

> > >

> > >

> > > 2011/3/9 enilton1sh <binbash.sh@>

> > >

> > > >

> > > >

> > > > Oi pessoal, Me chamo Enilton e sou novato na programação shell script

> e no

> > > > momento só sei fazer calculadoras. @_@

> > > >

> > > > Antes de tudo estava pesquisando no google calculadoras em shell

> script e

> > > > achei duas interessante no site "viva o linux", mais aqui irei falar

> somente

> > > > sobre uma, já que procuro nas duas a mesma resposta para o meu

> "problema".

> > > > obs: Nas minhas calc eu uso os parâmetros "case $opcao in ... esac",

> "$((

> > > > ))", para realizar as funções.

> > > >

> > > > Calculadora-para-eletrodomesticos : Lucas Villela Canôas

> > > > Bom aqui ele usa um método diferente do meu usando a calculadora bc,

> o

> > > > ponto que quero

> > > > chegar é que assim desse modo ele aceita "." e ",".

> > > >

> > > > echo "scale=3; $ptnc/1000" | bc`

> > > >

> > > > exemplo: echo "scale=3; 8000/1000" | bc`

> > > > > 8,000

> > > >

> > > > uso: echo $((8000/1000))

> > > > >8

> > > >

> > > > Tem como eu utilizar a opção "scale" junto com '$(())'?

> > > > Logo abaixo irei postar minhas calculadoras.

> > > > Obs.: Um script foi usado para "laçar" as calculadoras atráves da

> escolha

> > > > por opção, executando-as.

> > > > Eu poderia ter criado todos em um só script, seria muito fácil e sem

> graça

> > > > e com pouco aprendizado.

> > > >

> > > > Google Doc's

> > > > Estudo.sh: http://va.mu/Ag2

> > > > soma.sh: http://va.mu/Ag3

> > > > subtrair.sh: http://va.mu/Ag6

> > > > multiplicar.sh: http://va.mu/Ag7

> > > > dividir.sh: http://va.mu/Ag8

> > > > expo.sh: http://va.mu/Ag9

> > > > mult_soma.sh: http://va.mu/AhA

> > > > %.sh: http://va.mu/AhB

> > > >

> > > > Não reparem em algum erro de digitação!

> > > >

> > > >

> > > >

> > >

> > >

> > >

> > > --

> > > Tiago B. Peczenyj

> > > Linux User #405772

> > >

> > > http://pacman.blog.br

> > >

> > >

> > > [As partes desta mensagem que não continham texto foram removidas]

> > >

> >

>

>  

>



[As partes desta mensagem que não continham texto foram removidas]





    
     

    
    


 



  










[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]