[CODE] Calculadora - Perl

Started by rodweb, 21 de June , 2006, 03:06:08 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rodweb

Calculadora com funções básicas

#!/usr/bin/perl
#Programa: RØD Calculator
#Versão: 1.0
#SO's: Linux e Windows.
#Descrição: Calculadora com funções básicas
#Coded By: Ø Rodrigo Ø - [New Generation Crew]

$ver="v. 1.0"; #Versão do programa


print "\n+------------[RØD Calculator]-------------+\n";
print "|---------------------------------$ver--|\n";
print "|                                         |\n";
print "| Calculadora com funços básicas          |\n";
print "|                                         |\n";
print "| Coded By Ø Rodrigo Ø                    |\n";
print "+-----------------------------------------+\n\n";
sleep 3;
&opcao;

sub opcao(){
system("clear");
print "  +=====[Menu de Opções]=====+\n";
print "  | [+] Somar                |\n";
print "  | [-] Subtrair             |\n";
print "  | [*] Multiplicar          |\n";
print "  | [/] Dividir              |\n";
print "  | [D] Delta                |\n";
print "  | [E] Exponenciação        |\n";
print "  |                          |\n";
print "  | [X] Sair                 |\n";
print "  +--------------------------+\n";

print "   Digite a opção desejada: ";
$opcao=<STDIN>;
chomp ($opcao);

   if ($opcao eq "+") { &somar; }
elsif ($opcao eq "-") { &subtrair; }
elsif ($opcao eq "*") { &multiplicar; }
elsif ($opcao eq "/") { &dividir; }
elsif ($opcao eq "D" || $opcao eq "d") { δ }
elsif ($opcao eq "E" || $opcao eq "e") { &elevar; }
elsif ($opcao eq "X" || $opcao eq "x") { exit; }
else {
print "\nOpção inválida, tente novamente!\n";
<STDIN>;
&opcao;
}

sub somar(){
print "\nDigite o primeiro valor: ";
$valor1=<STDIN>;
chomp($valor1);
print "\nDigite o segundo valor: ";
$valor2=<STDIN>;
chomp($valor2);
$result=$valor1+$valor2;
print "\nO resultado é: $result\n";
&ok;
}

sub subtrair(){
print "\nDigite o primeiro valor: ";
$valor1=<STDIN>;
chomp($valor1);
print "\nDigite o segundo valor: ";
$valor2=<STDIN>;
chomp($valor2);
$result=$valor1-$valor2;
print "\nO resultado é: $result\n";
&ok;
}

sub multiplicar(){
print "\nDigite o primeiro valor: ";
$valor1=<STDIN>;
chomp($valor1);
print "\nDigite o segundo valor: ";
$valor2=<STDIN>;
chomp($valor2);
$result=$valor1*$valor2;
print "\nO resultado é: $result\n";
&ok;
}

sub dividir(){
print "\nDigite o primeiro valor: ";
$valor1=<STDIN>;
chomp($valor1);
print "\nDigite o segundo valor: ";
$valor2=<STDIN>;
chomp($valor2);
$result=$valor1/$valor2;
$resto=$valor1%$valor2;
print "\nO resultado é: $result\n";
if ($resto >= 1) {
print "\nO resto da divisão é: $resto\n";
&ok;
}
}

sub delta(){
print "\nDigite o valor de A: ";
$a = <STDIN>;
print "\nDigite o valor de B: ";
$b = <STDIN>;
print "\nDigite o valor de C: ";
$c = <STDIN>;
$delta = $b ** 2 - 4 * $a * $c;
print "\nO Delta é: $delta\n";
&ok;
}

sub elevar(){
print "\nDigite o valor: ";
$valor1=<STDIN>;
chomp($valor1);
print "\nElevar á: ";
$valor2=<STDIN>;
chomp($valor2);
$result=$valor1**$valor2;
print "\nO resultado é: $result\n";
&ok;
}
}

sub ok(){
<STDIN>;
&opcao;
}

Flws...

Shady



Mundus Vult Decipi

Anonymous

to me interessando em perl tbm

o q ah funçao chomp(); faz?

Skayler

Quote from: "H4C"to me interessando em perl tbm

o q ah funçao chomp(); faz?

Retira o enter.

[]'s


Skayler
Away

Shady

Isso mesmo. A funcao chomp retira o ultimo caractere de uma string. Em um exemplo pratico, temos:

print "me de uma string: ";
$variavel = ;
chomp($variavel);

 Acima, colocamos o que for digitado (STDIN, ou "standard input") na variavel $variavel. O sistema Standard Input sabe que o usuario acabou de digitar quando o enter e pressionado. O problema e que o enter tambem e contado, entao no caso a seguir:

me de uma string: teste_[enter]

 onde o usuario digita "teste+[enter]", o valor de $variavel nao seria "teste". Seria "teste
".

 A funcao chomp e usada para, resumidamente, como  o sklayer disse, retirar o enter das strings digitadas pelo usuario.

 obs1: a funcao chop($variavel) faz a mesma coisa.

 obs2: uma maneira rapida de armazenar input em variaveis e usar chop() ou chomp() nelas e a seguinte:

 chop($variavel=);
 chomp($variavel=);


Mundus Vult Decipi

Anonymous

legal, agora entendi

vlw Shady e Skayler

rodweb

Quote from: "Shady"obs2: uma maneira rapida de armazenar input em variaveis e usar chop() ou chomp() nelas e a seguinte:

 chop($variavel=);
 chomp($variavel=);

Legal, não sabia..vlw..

Quicky

hm..
interessante x]
perl parece ser bem r00x
mas como sempre.. pra linux
tá aih uma coisa q eu fiko triste..
meu modem num dá suporte ah linux ='(
tio bill aproveitando-se
=/

kualker dia desse vou dá uma fuçada em perl x]
Just Me...

Dark_Side

Quote from: "Quicky"hm..
interessante x]
perl parece ser bem r00x
mas como sempre.. pra linux
tá aih uma coisa q eu fiko triste..
meu modem num dá suporte ah linux ='(
tio bill aproveitando-se
=/

kualker dia desse vou dá uma fuçada em perl x]
Hi,
Quicky, a linguagem Perl não é restrita ao Linux, você pode programar em ambiente Windows.
Para isso, você pode utilizar o ActivePerl:
http://www.activestate.com/ActivePerl/
Carry on...
Bye.

Kratos

::: "A vida é bela pra quem sabe curtir" :::





Quicky

Sim.. eu sei
mas tem coisas que fikam restritas
e que poderiam ser melhores kaso eu usasse linux..
estou atrás dum modem novo só pra poder usar linux  ;D

^^

hehe... t+ e por favor.. se alguem puder me ajudar lá no outro tópico q eu fiz.. eu agradeceria o/
Just Me...