Calculatrice

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 806 fois - Téléchargée 29 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
lafoudre1523
Messages postés
42
Date d'inscription
mardi 3 janvier 2006
Statut
Membre
Dernière intervention
6 avril 2008

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

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

8 juin 2004 à 20:59
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
ceacy
Messages postés
27
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
4 août 2008

24 sept. 2003 à 12:49
Les exponentielles, oui. C'est pour ça que je l'ai pas mis : je sais pas comment faire ;-)
TiotBour
Messages postés
103
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
5 janvier 2007
1
24 sept. 2003 à 12:39
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.