davidlg 0 Denunciar post Postado Janeiro 24, 2010 Eu estou começando a 2 semanas com php e queria saber se minha calculadora esta funcionando porque eu acho que ela so funciona no PHP5 como aqui é PHP4 dai eu peço que vcs testes ai e me diga se fico boa e se nao fico diga oque eu estou errando. Minha Classe. <? class Calc () { var $visor; var $operacao; //Metodo computar o numero digitado do primeiro conjunto de numeros function numeroDigitado ($visor , $numero){ $this-> visor = $visor . $numero; setcookie("Visor" , " $this-> visor "); } //Metodo guarda primeiro conjunto de números e guarda a operação feita function operacao ($visor , $operacao){ setcookie("Visor","$visor"); $this-> visor = null; $this-> operação = $operacao; } //Metodo computar o numero digitado do segundo conjunto de numeros function numeroDigitado2 ($visor , $numero){ $this-> visor = $visor . $numero; setcookie("Visor2","$this-> visor"); } function igualdade ($visor){ $numero1 = $_COOKIE["Visor"]; $numero2 = $_COOKIE["Visor2"]; switch ($this-> operacao){ case '+' : $this-> visor = $numero1 + $numero2; break; case '-' : $this-> visor = $numero1 - $numero2; break; case '*' : $this-> visor = $numero1 * $numero2; break; case '/' : $this-> visor = $numero1 / $numero2; break; } setcookie("Visor"); setcookie("Visor2"); } } ?> E o index.php <? include calc.class.php; $calc = new Calc(); if (! isset($_POST["visor"])){ $this-> visor = null; }else{ $calc-> numeroDigitado($_POST["visor"] , $_POST["numero"]); } if (isset($_POST["operacao"])){ $calc-> operacao($_POST["visor"] , $_POST["operacao"]); } if(isset($_POST["visor"])){ if($this->visor == null){ $calc-> numeroDigitado2 ($_POST["visor" ], $_POST["numero"]); } } if (isset($_POST["igualdade"])){ $calc-> igualdade ($_POST["visor"]); } ?> <html> <head> <title>:: Calculadora ::</title> </head> <body> <form name="calc" method="post" action="" > <input type="text" name="visor" value"<? print $this-> visor; ?>" > <input type="submit" name="numero" value="9"> <input type="submit" name="numero" value="8"> <input type="submit" name="numero" value="7"> <input type="submit" name="numero" value="6"> <input type="submit" name="numero" value="5"> <input type="submit" name="numero" value="4"> <input type="submit" name="numero" value="3"> <input type="submit" name="numero" value="2"> <input type="submit" name="numero" value="1"> <input type="submit" name="numero" value="0"> <input type="submit" name="operacao" value="+"> <input type="submit" name="operacao" value="-"> <input type="submit" name="operacao" value="*"> <input type="submit" name="operacao" value="/"> <input type="submit" name="igualdade" value="="> </form> </body> </html> Os Botoes estao desorganizados mai so vou deixa pra ajeitar depois que eu souber que esta funcionando.(como eu nao usao nenhuma editor faço num bloco de notas dai fika cansativo fazer as tabelas.) Brigadao ai.. Compartilhar este post Link para o post Compartilhar em outros sites
davidlg 0 Denunciar post Postado Janeiro 24, 2010 Acho que achei um erro na minha classe , na function operacao onde eu atribui o $_POST["operecao"] em uma variavel $operacao depois essa variavel atribui a variavel operacao da class($this-> operacao = $operacao) so que eu estou atualizando a pagina toda vez que eu digito um numero dai essa variavel iai perde seu valor dai eu atribui essa operacao ao valor de um cookie.Chamando depois o cookie na function igualdade . vo colocar o codigo como fico por favor postem se tiver algum erro , e se tiver como posso resolve-lo. <? class Calc () { var $visor; //Metodo computar o numero digitado do primeiro conjunto de numeros function numeroDigitado ($visor , $numero){ $this-> visor = $visor . $numero; setcookie("Visor" , " $this-> visor "); } //Metodo guarda primeiro conjunto de números e guarda a operação feita function operacao ($visor , $operacao){ setcookie("Visor","$visor"); $this-> visor = null; setcookie("Operacao" , "$operacao"); } //Metodo computar o numero digitado do segundo conjunto de numeros function numeroDigitado2 ($visor , $numero){ $this-> visor = $visor . $numero; setcookie("Visor2","$this-> visor"); } function igualdade ($visor){ $numero1 = $_COOKIE["Visor"]; $numero2 = $_COOKIE["Visor2"]; $operacao = $_COOKIE["Operacao"]; switch ($operacao){ case '+' : $this-> visor = $numero1 + $numero2; break; case '-' : $this-> visor = $numero1 - $numero2; break; case '*' : $this-> visor = $numero1 * $numero2; break; case '/' : $this-> visor = $numero1 / $numero2; break; } setcookie("Visor"); setcookie("Visor2"); setcookie("Operacao"); } } ?> Vlw ai. Compartilhar este post Link para o post Compartilhar em outros sites
davidlg 0 Denunciar post Postado Janeiro 24, 2010 Eu arranjei um servidor que aceitasse php5 fiz os testes achei alguns erros concertei todos eles. Ela fico uma calculadora basica so falta eu criar o botao de zerar e tudo feito. vo posta os codigo ela pronta(fiz algumas modificaçoes e o codigo esta sem o botao de zerar). calc.php <? class Calc { var $visor; //Metodo computar o numero digitado do primeiro conjunto de numeros function numeroDigitado ($visor , $numero){ $this->visor = $visor . $numero; $visortemp = $this->visor; setcookie("Visor" , "$visortemp"); } //Metodo guarda primeiro conjunto de números e guarda a operação feita function operacao ($visor , $operacao){ setcookie("Visor","$visor"); $this->visor = null; setcookie("Operacao" , "$operacao"); } //Metodo computar o numero digitado do segundo conjunto de numeros function numeroDigitado2 ($visor , $numero){ $this->visor = $visor . $numero; $visortemp = $this->visor; setcookie("Visor2" , "$visortemp"); } function igualdade ($visor){ $numero1 = $_COOKIE["Visor"]; $numero2 = $_COOKIE["Visor2"]; $operacao = $_COOKIE["Operacao"]; switch ($operacao){ case '+' : $this-> visor = $numero1 + $numero2; break; case '-' : $this-> visor = $numero1 - $numero2; break; case '*' : $this-> visor = $numero1 * $numero2; break; case '/' : $this-> visor = $numero1 / $numero2; break; } setcookie("Visor"); setcookie("Visor2"); setcookie("Operacao"); } } ?> index.php <? include('calc.php'); $calc = new Calc(); if (! isset($_POST["visor"])){ $calc-> visor = null; }else{ $calc-> numeroDigitado($_POST["visor"] , $_POST["numero"]); } if (isset($_POST["operacao"])){ $calc-> operacao($_POST["visor"] , $_POST["operacao"]); } if(isset($_POST["visor"])){ if($calc-> visor == null){ $calc-> numeroDigitado2 ($_POST["visor" ], $_POST["numero"]); } } if (isset($_POST["igualdade"])){ $calc-> igualdade ($_POST["visor"]); } echo "<form name='calc' method='post' action='' >"; echo "<input type='text' name='visor' value='$calc->visor' >"; echo "<input type='submit' name='numero' value='9'>"; echo "<input type='submit' name='numero' value='8'>"; echo "<input type='submit' name='numero' value='7'>"; echo "<input type='submit' name='numero' value='6'>"; echo "<input type='submit' name='numero' value='5'>"; echo "<input type='submit' name='numero' value='4'>"; echo "<input type='submit' name='numero' value='3'>"; echo "<input type='submit' name='numero' value='2'>"; echo "<input type='submit' name='numero' value='1'>"; echo "<input type='submit' name='numero' value='0'>"; echo "<input type='submit' name='operacao' value='+'>"; echo "<input type='submit' name='operacao' value='-'>"; echo "<input type='submit' name='operacao' value='*'>"; echo "<input type='submit' name='operacao' value='/'>"; echo "<input type='submit' name='igualdade' value='='>"; echo "</form>"; ?> Algum erro ou alguma sugestao é so falar. VLW. Compartilhar este post Link para o post Compartilhar em outros sites
davidlg 0 Denunciar post Postado Janeiro 25, 2010 O de cima esta errado depois q fiz mais testes alguns deram errado. Mas eu ja ajeitei e adicionei o ponto , o crl(zera) e o ce(volta a operaçao) e coloquei tudo em uma pagina so. ficava mais facil na hora de editar . Index.php <? class Calc { public $visor; //Metodo computar o numero digitado do primeiro conjunto de numeros function numeroDigitado ($visor , $numero){ $visortemp = $visor . $numero; $this-> visor = $visortemp; setcookie("Visor" , "$visortemp"); } //Metodo guarda primeiro conjunto de números e guarda a operação feita function operacao ($operacao){ setcookie("Operacao" , "$operacao"); } //Metodo computar o numero digitado do segundo conjunto de numeros function numeroDigitado2 ($visor , $numero){ $visortemp = $visor . $numero; $this-> visor = $visortemp; setcookie("Visor2" , "$visortemp"); } //Metodo que efetua o calculo e mostra o resultado no visor function igualdade (){ $numero1 = $_COOKIE["Visor"]; $numero2 = $_COOKIE["Visor2"]; $operacao = $_COOKIE["Operacao"]; switch ($operacao){ case '+' : $this-> visor = $numero1 + $numero2; break; case '-' : $this-> visor = $numero1 - $numero2; break; case '*' : $this-> visor = $numero1 * $numero2; break; case '/' : $this-> visor = $numero1 / $numero2; break; } setcookie("Visor"); setcookie("Visor2"); setcookie("Operacao"); } //Metodo que zera o visor e os cookies function zerarCookies(){ setcookie("Visor"); setcookie("Visor2"); setcookie("Operacao"); $this-> visor = null; } //Metodo que anula a operaçao e volta a mostrar o primeiro conjunto de numeros no visor function ce(){ setcookie("Operacao"); $this-> visor = $_COOKIE["Visor"]; } } ?> <? $calc = new Calc(); if (isset($_POST["visor"]) and $_COOKIE["Operacao"] == null and ! isset($_POST["igualdade"])){ $calc-> numeroDigitado ($_POST["visor"],$_POST["numero"]); } if (isset($_POST["operacao"])){ $calc-> operacao($_POST["operacao"]); } if ($_COOKIE["Operacao"] != null and ! isset($_POST["igualdade"])){ $calc-> numeroDigitado2 ($_COOKIE["Visor2"],$_POST["numero"]); } if (isset($_POST["igualdade"])){ $calc-> igualdade (); } if (isset($_POST["ce"])){ $calc-> ce(); } if (isset($_POST["crl"])){ $calc-> zerarCookies(); } echo "<form name='calc' method='post' action='' >"; echo "<table border='1'>"; echo "<tr>"; echo "<td><input type='text' name='visor' value='$calc->visor' >"; echo "</tr><tr>"; echo "<td><input type='submit' name='ce' value='CE'>"; echo "<td><input type='submit' name='crl' value='Crl'>"; echo "<td><input type='submit' name='operacao' value='/'>"; echo "</tr><tr>"; echo "<td><input type='submit' name='numero' value='7'>"; echo "<td><input type='submit' name='numero' value='8'>"; echo "<td><input type='submit' name='numero' value='9'>"; echo "<td><input type='submit' name='operacao' value='*'>"; echo "</tr><tr>"; echo "<td><input type='submit' name='numero' value='4'>"; echo "<td><input type='submit' name='numero' value='5'>"; echo "<td><input type='submit' name='numero' value='6'>"; echo "<td><input type='submit' name='operacao' value='-'>"; echo "</tr><tr>"; echo "<td><input type='submit' name='numero' value='1'>"; echo "<td><input type='submit' name='numero' value='2'>"; echo "<td><input type='submit' name='numero' value='3'>"; echo "<td><input type='submit' name='operacao' value='+'>"; echo "</tr><tr>"; echo "<td><input type='submit' name='numero' value='0'>"; echo "<td><input type='submit' name='numero' value='.'>"; echo "<td><input type='submit' name='igualdade' value='='>"; echo "</tr></table>"; echo "</form>"; ?>estarei colocando ele na sessao laboratorio php. fui. Compartilhar este post Link para o post Compartilhar em outros sites