Les calculettes de crashtest

Contenu du snippet

Bonjour à tous, alors voici 2 calculettes. Dont la premier est très simple, j'ai mis de page web pour une calculette sur chaque page. J'espère que cela peut aider quelq'un.
@++ crashtest

Source / Exemple :


------------------------------------------1er calculette------------------------------------------
<html><head>
	<title>calculette</title>
<script language="javascript">

onerror=erreur;

function erreur() {
alert("erreur de saisis !");
    document.formulaire.traitement.value = "";
    document.formulaire.affichage.value = "Erreur !!!";
    document.formulaire.traitement.focus();
    return true;
}

function calcul() {
    document.formulaire.affichage.value =
	eval(document.formulaire.traitement.value);
	setTimeout('document.formulaire.traitement.value = "" ' , 2000);
	document.formulaire.traitement.focus();
}

</script>
</head>

<body>
<form name="formulaire">
<pre><center>Une fois ta formule ecrite appuie sur tab<br>
Votre formule : <input type="text" name="traitement" onblur="calcul()">
Le resultat : <input type="text" name="affichage"></center>
</pre></form>

</body></html>

------------------------------------------2ieme calculette------------------------------------------
<html><head>
  <title>calculette par crashtest</title>
<script>
function toto(radio){
    for (var i=0; i<radio.length;i++) {
       if (radio[i].checked) {
document.frm.nom.value = eval(document.frm.a.value +radio[i].value+ document.frm.b.value) * eval(document.frm.c.value);
document.frm.a.focus();
         }
      }
}

function pythagore(radio){
this.frm.a² = document.frm.a.value * document.frm.a.value;
this.frm.b² = document.frm.b.value * document.frm.b.value;
this.frm.ab = this.frm.a²;
this.frm.ab2 = this.frm.b²;
for (var j=0; j<radio.length;j++) {
       if (radio[j].checked) {
alert('Le total aparaîtra aussi\ndans la case résultat.\nAB = '+document.frm.a.value +radio[j].value+ document.frm.b.value+'\nAB² = '+this.frm.a² +radio[j].value+ this.frm.b²+'\nAB² = '+eval( this.frm.ab +radio[j].value+  this.frm.ab2 )+'\nAB = '+Math.sqrt( eval( this.frm.ab +radio[j].value+  this.frm.ab2 ) )+'');
document.frm.nom.value = Math.sqrt( eval( this.frm.ab +radio[j].value+  this.frm.ab2 ) );
    }
  }
}

onerror=erreur;

function erreur(){
    document.frm.a.value = "0";
    document.frm.b.value = "0";
    document.frm.c.value = "1";
    document.frm.nom.value = "Pas de lettre.";
    document.frm.a.focus();
    return true;
}
</script>
</head>

<body onload="document.frm.a.focus();document.frm.PI.title = Math.PI">
<form name="frm">
<center><h3>Calculette par Crashtest</h3><table><tr><td align="right">
1er nombre(a) : <input type="text" name="a" size="20" value="0"><br>
2ème nombre(b) : <input type="text" name="b" size="20" value="0"><br>
Multiplier par(c) : <input type="text" name="c" size="20" value="1" onclick="document.frm.c.value = 1"><br>Résultat : <input type="text" name="nom" size="20" disabled></td><td align="center">
+<input type="radio" value="+" checked name="rnom">
-<input type="radio" value="-" name="rnom">
x<input type="radio" value="*" name="rnom">
/<input type="radio" value="/" name="rnom"><br>
<input type="button" style="width:23" name="PI" value="PI" onclick="document.frm.c.value= Math.PI">
<input title="Carré du (a)" style="width:23" type="button" value="R²" onclick="document.frm.nom.value= document.frm.a.value * document.frm.a.value">
<input title="Racine carré du (a)" style="width:23" type="button" value="\/¯" onclick="document.frm.nom.value= Math.sqrt(document.frm.a.value);document.frm.a.focus();">
<input title="Le pourcentage du ((a) x (b))" style="width:23" type="button" value="%" onclick="document.frm.nom.value = (document.frm.a.value * document.frm.b.value) / 100"><br>
<input title="(a), (b) (+)ou(-)" type="button" value="Pythagore" onclick="pythagore(this.form.rnom)" style="width:70">
<input title="((a) x (b)) / (c) ou (a) / (c) = x / (b)" type="button" value="Thalès" onclick="document.frm.nom.value = (document.frm.a.value * document.frm.b.value) / document.frm.c.value" style="width:70"><br>
<input title="[(a) (+, -, x, /) (b)] x (c)" type="button" value="Résultat" onclick="toto(this.form.rnom)" style="width:60">
<input title="Remise à 0" type="reset" value="Clear" style="width:60">
</td></tr><tr><td colspan=2>Explication :<ol type=I><li>Bouton "Résultat" : le 1er nombre=(a); et le 2ème nombre=(b);<br>avec les boutons radio vous choisissez l'opération que vous allez<br>faire avec (a) et (b). Multiplier par=(c);<br>[(a) (l'opérateur) (b)] est multiplié par (c).<br><hr width=100%></li>
<li>Bouton "Clear" : met la calculette à 0<br><hr width=100%></li>
<li>Bouton "Pythagore" : (a)=1 côté de votre triangle dont vous connaissez<br>la longueur; (b)=1 autre côté de votre triangle dont vous connaissez<br>la longueur; Suivant le côté que vous cherchez, vous choisissez le (+) ou le (-)<br>dans les boutons radio.<br>Puis cliquer sur le bouton "pythagore", le résultat avec le détail s'affichera<br>dans une boite d'alerte, le résultat simple s'affichera dans la case de texte<br>résultat.<br><hr width=100%></li>
<li>Bouton "Thalès" : (a)=AB; (b)=CB; (c)=AC; (x)=DE;<br>donc AB/AC = DE/CB; donc (a)/(c) = (x)/(b).<br>La calculette calcule DE = (x) = (AB x CB)/ AC = ((a) x (b))/ (c).<br><hr width=100%></li>
<li>Bouton "PI" : il écrit  la valeur PI dans la case (c).<br>Bouton "R²" : il calcule le carré de la valeur dans la case (a).<br>Bouton "\/¯" : il calcule la racine carré de la valeur dans la case (a).<br>Bouton "%" : il calcule le pourcentage de la valeur dans la case (a) x (b),<br>pour calculer une valeur, tapez votre valeur dans la case (a) et tapez "1"<br>dans la case (b).</li>
</ol><h5>Fin des explications.</h5></td><td></td></tr></table></center>
</form>
</body></html>

Conclusion :


Si quelq'un à des idées pour réduire le code de la 2ieme calculette je suis preneur.

A voir également

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.