begin process at 2012 02 14 04:17:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LES CALCULETTES DE CRASHTEST

LES CALCULETTES DE CRASHTEST


 Information sur la source

Note :
6 / 10 - par 3 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :calculette, pythagore, thales, carré, pourcentage Niveau :Débutant Date de création :04/03/2005 Date de mise à jour :08/03/2005 16:52:05 Vu :4 972

Auteur : crashtest

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

 Description

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

  • ------------------------------------------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="" 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="\/&macr;" 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 "" : il calcule le carré de la valeur dans la case (a).<br>Bouton "\/&macr;" : 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>
------------------------------------------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="\/&macr;" 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 "\/&macr;" : 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.


 Historique

04 mars 2005 22:28:16 :
J'ai retiré les (value="") et (document.) car il ne servait à rien thx pour ta remarque coucou747
06 mars 2005 00:30:28 :
J'ai réduit au maximum la 2ieme calculette.
06 mars 2005 16:59:31 :
Amélioration de la 2ieme calculette. Rajouts : d'une case text, de PI, du carré,de la racine carré, du pourcentage et du bouton clear.
08 mars 2005 16:52:08 :
J'ai rajouté plein de truc en plus dont pythagore thales....

 Sources du même auteur

Source avec Zip JUKEBOX AVEC RADIO
Source avec Zip GÉNÉRATEUR CSS
FAIRE CONNAITRE À SES AMIE SON SITE WEB
Source avec une capture GÉNÉRATEUR JAVASCRIPT
SE CONECTER AU SERVER FTP

 Sources de la même categorie

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture THÉORÈME DE PYTHAGORE ET SA RÉCIPROQUE par nicomilville
CARRÉS MAGIQUES par pabbati
Source avec Zip Source avec une capture CALCULATRICE CASIO par debutant VB
Source avec Zip Source avec une capture FAUSSE PAGE DE CHARGEMENT par ndubien
Source avec une capture BAR DE STATUS POUR LE CHARGEMENT DES IMAGES AVEC POURCENTAGE... par wizard512

Commentaires et avis

Commentaire de bibi_81 le 04/03/2005 21:02:35

le code est pas mal, mais j'ai aps envie de tester dsl, moi et les maths sa fais 15 :P

Commentaire de coucou747 le 04/03/2005 21:32:57 administrateur CS

c'est marant :
-il prends tout type de code... y compris les divisions par 0
-ce n'est pas une calculette mais un terminale de calcul... (on tape les formules au lieu de cliquer...)
-c'est vraiment pas super quand on veut calculer qqch...

document.location='javascript:'+radio[i].value+';toto();'
pour cette ligne c'est vraiment dégeulasse.. sous gecko ça ne passe pas... et un alert sufirait...

onerror=calcul;
je ne sais pas si c'est vraiment corect... en tout cas ça ne doit pas passer très bien...

t'as une return true qui ne sert à rien...

quand à tes éval, on pourrait condenser vraiment...

tu demandes de l'aide pour diminuer le code... bah je dirais que tu devrais plutot chercher à augmenter les fonctionalitées...
pour t'aider :
value=""
c'est inutile...

Commentaire de crashtest le 04/03/2005 22:50:39

Bonjour,
pour la petite calculette il y a une autre façon de se genre la :
<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);
    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">&nbsp;<input type="button" value="Calculé" onclick="calcul()">
Le resultat : <input type="text" name="affichage"></center>
</pre></form>

</body></html>

document.location='javascript:'+radio[i].value+';toto();'
ba j'ai retiré (document) mais sinon je ne c'est pas comment le faire plus beau.

pour le onerror=calcul;oui il sert car quand on ecrit une lettre dans le calcul le onerror s'active et cela evite de faire bugger le script.

et pour le return je ne connais pas exactement sa définition mai je croit bien qu'il faut le mettre pour evité tout les bugs de calcul

Commentaire de coucou747 le 04/03/2005 23:08:43 administrateur CS

il y a énormément de façons, mais celle que tu as utilisée n'est pas super super...

Commentaire de crashtest le 05/03/2005 00:26:22

ba si tu pouvais me donner quelques une des plusieurs façons s'il te plaît cela m'aiderait à apprendre.
Merci d'avance.

Commentaire de newbie70 le 05/03/2005 00:30:50

ben moi ca m'a aidé, lol ca fesait longtemps que j'essaye de faire une calculette mais en vain, et grace au deux script différents jvai pouvoir comparé les fonctions, merci crash.
++

Commentaire de coucou747 le 05/03/2005 00:31:08 administrateur CS

il existe plein d'exemples sur ce site....
personnellement je n'en ai codé aucun...

tu peux pe la faire OO....

Commentaire de coucou747 le 05/03/2005 00:48:56 administrateur CS

en lisant nimporte quel tutorial, on aprend la fonction eval... la suite, c'est deux cases de texte, newbie, t'as pas du chercher loin....

pour une calculette, pour la faire OO, on pourait faire une méthode qui permètrais d'ajouter des touches qui donneraient des fonctions particuliètres... ça pourait être sympas, et un peu moins basic...

Commentaire de crashtest le 06/03/2005 11:16:19

j'ai utilisé la fonction eval() car pour 2 objet entre si tu met un simple + il ne va pas te faire une addition mais un incrément alors pour faire une addition je fait
eval(document.frm.a.value) + eval(document.frm.b.value) .
J'ai minimisé au maximum la 2ieme calculette.

Commentaire de coucou747 le 06/03/2005 11:30:09 administrateur CS

ah.... t'as des fonctions de converstions de chaines en int en javascript.....

Commentaire de crashtest le 06/03/2005 17:03:57

Je n'ai pas trouver la fonction de converstion de chaine en int.
Mais par contre j'ai amélioré la 2ieme calculette, et après sa je ne vois plus trop comment l'améliorer.
Mais j'y réfléchi.

Commentaire de crashtest le 08/03/2005 17:14:30

Bon voila alors j'ai pensé à plein de trucs alors je les ai  mise mais je pensai mettre aussi la trigonométrique mais le résultat sera en rad (j'aime pas), donc dès que j'aurais réussi à le mettre en deg je le mettrais voila @++

Commentaire de coucou747 le 11/03/2005 07:08:15 administrateur CS

je t'ai expliqué sur une source... les converstions d'angles.... fais un peu de POO, trouveras

Commentaire de crashtest le 11/03/2005 10:55:46

ba oui mais j'ai essayer se que tu mas expliké et sa marche pour le sin mais c'est tout à moin que je mi suis mal pris.
c'est quoi exactement le POO, je n'en n'est jamais entendu parler

Commentaire de coucou747 le 11/03/2005 21:04:08 administrateur CS

POO= Programmation orientée Objet...

cherche sur google !!!!!!!!!!!!!!!!!

c'est un sujet compliqué, mais la tu poses une question alors que tu n'en a même pas entendu parler (et que tout le monde en parle...)

ça existe en Js, C++, Perl, Java, Php ...
je crois que ça existe même en VB

c'est hyper important comme concept de programmation, je pourais t'en écrire 10 pages...

Commentaire de crashtest le 11/03/2005 23:36:01

moi j'ai programmer en vb et maintenan en javascript mais j'ai rarement lut les tutoriauxvoir en faite j'en n'est lu un seul sur internet sa parlai des tableau c'est tt mai sinon je me suis acheter un livre sur le js j'ai lu 2page car j'aime pas lire mais dans le sommaire il ne parle pas de POO.
Mais je vai me renseigner sur google

Commentaire de coucou747 le 12/03/2005 08:37:13 administrateur CS

je n'ai pas lu de livres sur le js, j'ai lu un livre sur le C, et un sur le C++...

la poo, je la connaissais avant, en C++, (et oui, je connaissais le C++ avant de lire le livre...)

lis des sources, et tu comprendras...

Commentaire de lgh le 17/06/2005 18:16:51

Faites donc 12.99+11 et vous verez que le résultat n'est qu'approché!
LGH

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème de taille d'iframe [ par LeJulius ] voila les gas !! ::je souhaite choper la taille d'une iframe qui est défini commeun pourcentage d'une cellule d'un tableau et ce tableau est dans la racine carré en javascript [ par littlemarley ] Pourriez vous m'indiquer comment faire la racine carr&#233; d'une variable pck g essay&#233; : sqrt ou encor e^(1/2) mais ca ne marche pas, si vous po pb dans code: marche pas [ par nanonerie ] nanonerie &lt;html&gt; &lt;head&gt;  &lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;  &lt;title&gt;calcul Fonction qui ne marche pas !!! [ par nicomilville ] Salut tout le monde,j'ai une fonction js qui ne marche pas, pourrai t-on m'expliquer pourquoi ???function carré(valeur) { return valeur*valeur;}functi calcul pourcentage [ par samyweb ] Bjr j'aimerais avoir une aide je débute totalement en javascript pourrais-je avoir un peu d'aide j'ai un calcul à faire qui est le suivant : un somme


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 5,023 sec (4)

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