begin process at 2012 02 12 03:58:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CALCULATRICE

CALCULATRICE


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :12/09/2003 Date de mise à jour :12/09/2003 21:56:08 Vu :4 607

Auteur : ceacy

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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>
<?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 ...


 Sources du même auteur

Source avec Zip UPLOAD D'IMAGE SIMPLE ET FONCTIONNEL
Source avec Zip SIGNATURE DYNAMIQUE PNG
Source avec Zip IMAGE RÉVÉLANT VOTRE PRÉSENCE ONLINE/OUTLINE
Source avec Zip COMPTEUR DE VISITES SOUS FORME D'IMAGE
Source avec une capture LISTER LES IMAGES D'UN RÉPERTOIRE

 Sources de la même categorie

EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8
CLEF POUR EAN 13 ET 14 par RaftY
FONCTION DE CALCUL DU NOMBRE DE DUEL UNIQUE POUR UN NOMBRE N... par mtrix000
Source avec Zip Source avec une capture TRIANGLE DE PASCAL ET SON ÉQUATION par vendeeHdLR89
Source avec Zip CONVERTISSEUR LAMBERT2 ÉTENDU EN COORDONNÉE GÉOGRAPHIQUE (LO... par varfendell

Commentaires et avis

Commentaire de unzipped le 17/09/2003 04:31:36

Je doute que ce code soit de toi sincèrement, tu dis débuter et ce code n'a rien d'un code de débutant, je sais même ou tu as pris ce code :p

Commentaire de ceacy le 22/09/2003 19:30:08

???
Je te jure que je l'ai fait. J'ai codé ça pour mon cours de MPI, où on vient de faire les bases 16 et 60, et où on fera bientôt le binaire et l'octal (programme de seconde).
Je sais pas pourquoi tu délires ... j'aime pas trop qu'on m'accuse de plagiat, c'est bel et bien mon premier script PHP. Avant, je faisais de l'ASP.

Commentaire de ceacy le 22/09/2003 19:37:54

???
Je te jure que je l'ai fait. J'ai codé ça pour mon cours de MPI, où on vient de faire les bases 16 et 60, et où on fera bientôt le binaire et l'octal (programme de seconde).
Je sais pas pourquoi tu délires ... j'aime pas trop qu'on m'accuse de plagiat, c'est bel et bien mon premier script PHP. Avant, je faisais de l'ASP.

Commentaire de jeff le 23/09/2003 11:36:26

pas mal, et en plus, ya pas d'buggs

Commentaire de TiotBour le 24/09/2003 12:39:45

Les exponentielles c'est au programme de Terminale non ?

Commentaire de ceacy le 24/09/2003 12:49:23

Les exponentielles, oui. C'est pour ça que je l'ai pas mis : je sais pas comment faire ;-)

Commentaire de PereNoel le 08/06/2004 20:59:06

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

Commentaire de stanilou le 15/10/2004 20:43:21

Les exponentiels je suis en premiere et je l'ai fait !!!

Commentaire de lafoudre1523 le 22/03/2008 22:06:50

Jolie source vraiment si c'est vraiment ton premier code chapeau ^^

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,200 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales