Calculatrice

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 310 fois - Téléchargée 28 fois

Contenu du snippet

C'est une simple calculatrice. Elle donne le résultat en nombres décimaux, binaires, octaux et hexas. C'est mon premier projet en PHP, alors soyez indulgents ;-)

Source / Exemple :


<?php
if(ereg("[a-zA-Z]|[;§µ£\$°'\"&@_!]", $_POST['calcul']))
{
	echo "Syntaxe de l'opération non valide : pas de ponctuation ni de lettres, SVP";
}
elseif($_POST['calcul'])
{
	$calcul='$result='.$_POST['calcul'].';';
	$calcul=str_replace(",", ".", $calcul);
	$calcul=str_replace("²", "^2", $calcul);

	/* On recherche les occurrence de "nombre^exposant" dans la chaîne de calcul
	   afin de le remplacer par leur valeur */
	while(ereg("\(*[0-9\*/%\+.\-]+\)*\^\(*[0-9\*/%\+.\-]+\)*", $calcul, $puissance))
	{
		$puissance[1]='$puissance[1]=pow('.str_replace("^", ",", $puissance[0]).');';
		eval($puissance[1]);
		$calcul=str_replace($puissance[0], $puissance[1], $calcul);
	}

	/* C'est ici qu'on effectue le calcul (sauf les puissances, c'est déjà fait ;-) */
	eval($calcul);

	/* C'est là qu'on convertit en binaire, hexa, octal */
	$hexa = base_convert($result, 10, 16);
	$binaire = base_convert($result, 10, 2);
	$octal = base_convert($result, 10, 8);
	$conversions = '<br><table align="center">
			   <tr>
				<td><b>Ecriture décimale :</b></td><td align="right">'.$result.'</td>
			   </tr><tr>
				<td><b>Ecriture hexadécimale :</b></td><td align="right">'.$hexa.'</td>
			   </tr><tr>
				<td><b>Ecriture octale : </b></td><td align="right">'.$octal.'</td>
			   </tr><tr>
				<td><b>Ecriture binaire :</b></td><td align="right">'.$binaire.'</td>
		           </tr>
			</table>';
};
?>
<html>
  <head>
	<title>Calculatrice</title>
  </head>
  <body bgcolor="#E6E7E6">
    <form name="calc" action="calc.php" method="post">
      <table align="center" width="300">
   	<tr>
		<td>Calcul : </td>
		<td><input type="text" name="calcul" value="<?=$result?>" align="right"></td>
	</tr>
	<tr>
		<td colspan="2" align="center"><input type="submit" value="Enter"</td>
	</tr>
      </table>
    </form>
    <?=$conversions?>
  </body>
</html>

Conclusion :


La calculatrice gère (tant bien que mal ;-)) les puissances (il y a un bug avec les opérations du type "(x^y)^z", mais ça fonctionne avec les autres schémas).
Il lui manque actuellement : le support des racines carrées, un symbole valant pi, les exponentielles et bien d'autres ...

A voir également

Ajouter un commentaire Commentaires
Messages postés
42
Date d'inscription
mardi 3 janvier 2006
Statut
Membre
Dernière intervention
6 avril 2008

Jolie source vraiment si c'est vraiment ton premier code chapeau ^^
Messages postés
193
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
18 novembre 2009

Les exponentiels je suis en premiere et je l'ai fait !!!
Messages postés
68
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
2 mai 2004

J'arrive trois ans plus tard et je dis que en mpi (option bidon) y'a vraiment ca au "programme" et c'est innutile ^^ et vive l'ES
Messages postés
27
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
4 août 2008

Les exponentielles, oui. C'est pour ça que je l'ai pas mis : je sais pas comment faire ;-)
Messages postés
103
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
5 janvier 2007
1
Les exponentielles c'est au programme de Terminale non ?
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.