Comparer des chiffres en Javascript

Fermé
Dominiqueguy - 9 mars 2014 à 14:46
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 11 mars 2014 à 16:21
Bonjour,


Voici l'exercice que le dois faire:

// écrivez un script qui demande 2 chiffres au client.
Comparez les deux chiffres et laisser Javascript décider lequel des deux est le plus grand.
Le résultat à l'écran doit donner par ex.çà:

Getallen Vergelijken

De getallen die u invoerde waren 10 en 20

Is het eerste getal groter dan het tweede getal? false // plus grand que

Is het eerste getal kleinder dan het tweede getal? true // plus petit que

Is het eerste getal gelijk aan het tweede getal? false // égal à

//C'est du Néerlandais mais cela ne change rien :-)

Merci d'avance pour votre aide et voici où j'en suis :-(

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hoofdstuk 03 opdracht 03</title>
</head>
<body>
<h1>Getallen vergelijken</h1>
<p> De getallen die u invoerde waren ( getal1 invuld) en ('var getal2 invuld')</p>
<hr>
<p>Is de eerste getal groter dan het tweede getal?</p>

<p id="divResult"></p>

<script>

var getal1 = prompt('Vul het eerste getal in');

var getal2 = prompt('Vul het tweede getal in');

var totaal = parseFloat(getal1) > parseFloat(getal2);




document.getElementById("divResult").innerHTML=totaal;


</script>

</body>
</html>
A voir également:

13 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
9 mars 2014 à 17:22
Salut,

Je suis une bille en Javascript, néanmoins si ça peut faire avancer le truc .. :
<!DOCTYPE html>
<html lang="fr">
	<head>
		<script style="text/javascript">
			function controle(monform) {
				var a = document.getElementById("a").value;
				var b = document.getElementById("b").value;
				//contrôle des champs vides
				if(a==""){
					alert("Le champ 1 est vide!");
				}
				else if(b==""){
					alert("Le champ 2 est vide!");
				}			
				//teste si une chaine de caractères est un nombre
				else if(isNaN(a)){
					alert(a+" n'est pas un nombre!");
				}
				else if(isNaN(b)){
					alert(b+" n'est pas un nombre!");
				}				
				//si inférieure
				else if(a < b){
					alert("Le plus grand chiffre est : " +b);
				}
				//si supérieure
				else if(a > b){
					alert("Le plus grand chiffre est : " +a);
				}
				//si égal
				else if(a == b){
					alert("Les chiffres sont égaux.");
				}
			}
		</script>
	</head> 
	
	<body> 
		
		<form id="monform" method="post">
			Chiffre 1 : <input id="a" value=""/><br/>
			Chiffre 2 : <input id="b" value=""/><br/>
			<input type="button" value="Valider" OnClick="controle(monform)">
		</form>
		
	</body> 
	
</html>	

0
Dominiqueguy
9 mars 2014 à 19:24
Ok, mais cela me parait très compliqué vu le stade où nous en sommes au cours (tout début)

Je crois que c'est un truc booléen que javascript // tout seul//fait avec des choses comme ça < > ! && || etc.

Le prof. veux exactement ce résultat là // je te l'ai mis en français :-)

comparer les chiffres // c'est dans <h1>
Les chiffres que vous avez inscrits étaient 10 et 20 // ça c'est dans <p>

//mais comment il sait que j'ai mis 10 et 20, en fait cela doit correspondre avec ce que l'on met dans chiffre1 et chiffre2

<hr> ligne horizontale

Si le premier nombre est plus grand que le second nombre? false

Si le premier nombre est plus petit que le deuxième nombre? true

Si le premier nombre est égal au deuxième nombre? false

Comprends-tu mieux ma question? Et encore merci
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
10 mars 2014 à 09:26
En faite, non je ne comprend pas mieux la question ^^...

D'où sorte les chiffres 10 et 20 ?
10 et 20 sont les 2 seules chiffres à comparer ?
Y a t'il un formulaire pour entrer les chiffres ?
Doit on vérifier les champs si utilisation d'un formulaire (champ vide, que des chiffres, autres)?
Les résultats de comparaisons doivent s'afficher dans un alert(), dans un div, autre ?

<!DOCTYPE html>
<html lang="fr">
	<head>
		
		<script style="text/javascript">
			function affiche(){
				var chiffre1 = 10;
				var chiffre2 = 20;
				var mondiv = document.getElementById("divResult");
				
				//si supérieure
				if(chiffre1 > chiffre2){
					//alert("Le plus grand chiffre est : " +chiffre1);
					mondiv.innerHTML = "Le plus grand chiffre est : " +chiffre1;
				}				
				//si inférieure
				if(chiffre1 < chiffre2){
					//alert("Le plus grand chiffre est : " +chiffre2);
					mondiv.innerHTML = "Le plus grand chiffre est : " +chiffre2;
				}
				//si égal
				if(chiffre1 == chiffre2){
					//alert("Les chiffres sont égaux.");
					mondiv.innerHTML = "Les chiffres sont égaux.";
				}
			}
		</script>
		
	</head> 
	
	<!--On appel la fonction affiche() à l'ouverture de la page-->
	<body onload="affiche();"> 
		
		<h1>Comparer les chiffres</h1>
		<p>Les chiffres que vous avez inscrits étaient 10 et 20.</p>
		<hr/>
		<div id="divResult"></div>
		
	</body> 
	
</html>	
0
Dominiqueguy
10 mars 2014 à 13:43
Salut,

10 et 20 sont des ex. cela doit fonctionner avec m'importe quels chiffre entrés //mais je ne sais comment// par l'utilisateur.

par ex. un cadre avec "entrer le premier chiffre" et un autre avec "entrer le second chiffre"

Les trois phrases toujours les mêmes // voir plus haut// doivent réagir toutes seules en true ou false, en fonction des chiffres rentrés.

Je pense que c'est avec if else.

Non, il ne faut pas vérifier les champs vides ou autres.

Et les résultats de comparaisons doivent s'afficher dans dans un div.

Je pense que c'est 'divResult', mais pas sûre.

Ca t'aide? Merci et @+
0
Dominiqueguy
10 mars 2014 à 13:47
Ps: le 10 et le 20 doivent se remplacer automatiquement dans la phrase par les deux chiffres rentrés par l'utilisateur :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
10 mars 2014 à 14:12
Le plus simple pour entrer 2 chiffres reste un formulaire basique de 2 champs qui lance une fonction lors du clique sur le bouton de validation. Donc pour moi ça serait :
<!DOCTYPE html>
<html lang="fr">
	<head>
		
		<script style="text/javascript">
			//Fonction qui s'exécute lors du OnClick sur le bouton de validation
			function affiche(){
				//Chiffre 1 du formulaire
				var chiffre1 = document.getElementById("chiffre1").value;
				//Chiffre 2 du formulaire
				var chiffre2 = document.getElementById("chiffre2").value;
				//Texte commun pour dire quelles sont les chiffres saisis
				var texte = "<p>Les chiffres que vous avez inscrits sont "+chiffre1+" et "+chiffre2+".</p>";
				//div affichant le résultat
				var mondiv = document.getElementById("divResult");
				
				//si supérieure
				if(chiffre1 > chiffre2){
					//alert("Le plus grand chiffre est : " +chiffre1);
					mondiv.innerHTML = texte+ "Le plus grand chiffre est " +chiffre1;
				}				
				//si inférieure
				if(chiffre1 < chiffre2){
					//alert("Le plus grand chiffre est : " +chiffre2);
					mondiv.innerHTML = texte+ "Le plus grand chiffre est " +chiffre2;
				}
				//si égal
				if(chiffre1 == chiffre2){
					//alert("Les chiffres sont égaux.");
					mondiv.innerHTML = texte+ "Les chiffres sont égaux.";
				}
			}
		</script>
		
	</head> 
	
	<body> 
		
		<h1>Comparer les chiffres</h1>
		
		<form id="monform" method="post">
			Chiffre 1 : <input id="chiffre1" value=""/><br/>
			Chiffre 2 : <input id="chiffre2" value=""/><br/>
			<input type="button" value="Valider" OnClick="affiche();">
		</form>
		
		<hr/>
		<div id="divResult"></div>
		
	</body> 
	
</html>	

Tout les éléments que vous demandez sont regroupés dans ce code.
0
Dominiqueguy
10 mars 2014 à 14:27
C'est super, le début c'est ça!

je doit encore trouver le moyen que true ou false s'affiche tout seul à côté de mes fameuses trois phrases en fonction des chiffres rentrés et ce sera parfait :-)

Je cherche...

@+ et merci de votre patience
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
10 mars 2014 à 14:57
Peut-être :
		<script style="text/javascript">
			//Fonction qui s'exécute lors du OnClick sur le bouton de validation
			function affiche(){
				//Chiffre 1 du formulaire
				var chiffre1 = document.getElementById("chiffre1").value;
				//Chiffre 2 du formulaire
				var chiffre2 = document.getElementById("chiffre2").value;
				//Texte commun pour dire quelles sont les chiffres saisies
				var texte = "<p>Les chiffres que vous avez inscrits sont "+chiffre1+" et "+chiffre2+".</p>";
				//div affichant le résultat
				var mondiv = document.getElementById("divResult");
				
				//si supérieure
				if(chiffre1 > chiffre2){
					//alert("Le plus grand chiffre est : " +chiffre1);
					mondiv.innerHTML = texte+ "Le plus grand chiffre est " +chiffre1;
					var retour = false;
				}				
				//si inférieure
				if(chiffre1 < chiffre2){
					//alert("Le plus grand chiffre est : " +chiffre2);
					mondiv.innerHTML = texte+ "Le plus grand chiffre est " +chiffre2;
					var retour = true;
				}
				//si égal
				if(chiffre1 == chiffre2){
					//alert("Les chiffres sont égaux.");
					mondiv.innerHTML = texte+ "Les chiffres sont égaux";
					var retour = false;
				}
				if(retour == false){
					mondiv.innerHTML += " .Renvoie : false";
				}
				else{
					mondiv.innerHTML += " .Renvoie : true";
				}
			}
		</script>

0
Dominiqueguy
10 mars 2014 à 18:04
Re-re-salut,

le début est toujours bon, mais le texte doit être le suivant:

Si le premier nombre est plus grand que le second nombre? false

Si le premier nombre est plus petit que le deuxième nombre? true

Si le premier nombre est égal au deuxième nombre? false


Et non: le plus grand chiffre est ... renvoie true ou false

// tu n'en as pas encore marre :-) moi, je deviens folle !

// si par curiosité tu te demandes pourquoi je dois et essaye de faire tout ça, dis-le moi et je te l'expliquerai :-)

@+
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
Modifié par tryan44 le 10/03/2014 à 18:46
		<script style="text/javascript">
			//Fonction qui s'exécute lors du OnClick sur le bouton de validation
			function affiche(){
				//Chiffre 1 du formulaire
				var chiffre1 = document.getElementById("chiffre1").value;
				//Chiffre 2 du formulaire
				var chiffre2 = document.getElementById("chiffre2").value;
				//Texte commun pour dire quelles sont les chiffres saisies
				var texte = "<p>Les chiffres que vous avez inscrits sont "+chiffre1+" et "+chiffre2+".</p>";
				//div affichant le résultat
				var mondiv = document.getElementById("divResult");
				
				//si supérieure
				if(chiffre1 > chiffre2){
					var retour = false;
					mondiv.innerHTML = texte +chiffre1+" "+retour;
				}				
				//si inférieure
				else if(chiffre1 < chiffre2){
					var retour = true;
					mondiv.innerHTML = texte +chiffre2+" "+retour;
				}
				//si égal
				else if(chiffre1 == chiffre2){
					var retour = false;
					mondiv.innerHTML = texte+"Les chiffres sont égaux. " +retour;
				}			
			}
		</script>


Sinon, expliquer le pourquoi du comment par curiosité :).
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
0
Dominiqueguy
10 mars 2014 à 23:59
Ca continue! Quand je remplace "texte" par ma phrase, elle ne s'affiche pas? Pourquoi?


Bon maintenant l'explication:

J'habite en Belgique, Halle à côté de Bruxelles mais c'est flamand et je suis francophone, je travaille également à Halle.

Le site de mon boulot est nul //non super nul!

Dans une réunion, j'ai eu le malheur de dire que cela m'intéressait //mon mari est photographe amateur et à un petit site (one.com), donc j'ai dit que j'aimerais bien comprendre comment cela fonctionnait pour en faire un site plus professionnel et donc mettre son travail plus en valeur.

Et voilà, catastrophe, ils ont décidés de m'inscrire à un cours// en plus de mes heures de boulot// sous prétexte qu'il y avait aussi un intérêt personnel :-)

Le tout dans le but que je puisse un jour//là, on y est pas// créer un super site pour le boulot, les cours étant gratuits et les web-designer trop cher!

J'ai donc un cours de php et javascript//sans avoir vu HTML et le tout en Néerlandais avec un super livre également en Néerlandais!

D'où mes légers problèmes de compréhension :-)

Je te renvoie le script en Néerlandais, c'est une ou des erreurs de syntaxe, la langue //à mon avis// n'a rien avoir là-dedans! Encore merci et @+

<!DOCTYPE html>
<html>
<head>

<script type="text/javascript">

function myFunction(){

var getal1 = document.getElementById("getal1").value;

var getal2 = document.getElementById("getal2").value;

var tekst = "<p>De getallen die u invoerde waren "+getal1+" en "+getal2+".</p>";

var mijndiv = document.getElementById("divResult");


if(getal1 > getal2){
var return = false;
mijndiv.innerHTML = Is het eerste getal groter dan het tweede getal? +getal1+" "+return;
}

else if(getal1 < getal2){
var return = true;
mijndiv.innerHTML = Is het eerste getal kleiner dan het tweede getal? +getal2+" "+return;
}

else if(getal1 == getal2){
var return = false;
mijndiv.innerHTML = Is het eerste getal gelijk aan het tweede getal? +"De getallen zijn gelijk." " +return;
}
}
</script>


</head>

<body>

<h1>Getallen vergelijken</h1>

<vorm id="mijnvorm" method="post">
getal 1 : <input id="getal1" value=""/><br/>
getal 2 : <input id="getal2" value=""/><br/>
<input type="button" value="toon" OnClick="myFunction();">
</vorm>

<hr/>
<div id="divResult"></div>

</body>

</html>
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
11 mars 2014 à 09:12
Vous avez oublié des guillemets pour entourer vos phrases (code non testé).
			function myFunction(){ 
				var getal1 = document.getElementById("getal1").value; 
				var getal2 = document.getElementById("getal2").value; 
				var tekst = "<p>De getallen die u invoerde waren "+getal1+" en "+getal2+".</p>"; 
				var mijndiv = document.getElementById("divResult"); 
				
				if(getal1 > getal2){ 
					var return = false; 
					mijndiv.innerHTML = "Is het eerste getal groter dan het tweede getal?" +getal1+" "+return; 
				}	
				else if(getal1 < getal2){ 
					var return = true; 
					mijndiv.innerHTML = "Is het eerste getal kleiner dan het tweede getal?" +getal2+" "+return; 
				} 
				else if(getal1 == getal2){ 
					var return = false; 
					mijndiv.innerHTML = "Is het eerste getal gelijk aan het tweede getal? De getallen zijn gelijk."+" "+return; 
				}	
			}


Le mot clé return est utilisé dans le corps d'une fonction pour renvoyer le résultat d'un traitement. En gros, c'est un mot qu'il ne faut pas utiliser comme nom de variable.

Dans votre formulaire vous utilisez le mot "vorm" au lieu de "form". Je ne pense pas que la déclaration d'un formulaire change en fonction de la langue utilisé.

Pour finir, c'est étonnant que vous ayez des cours de PHP et Javascript sans passer par les bases XHTML et CSS pourtant indispensable pour les fondations d'un site web!
0
Dominiqueguy
11 mars 2014 à 14:32
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
function myFunction(){

var getal1 = document.getElementById("getal1").value;

var getal2 = document.getElementById("getal2").value;

var tekst = "<p>De getallen die u invoerde waren "+getal1+" en "+getal2+".</p>";

var mijndiv = document.getElementById("divResult");


if(getal1 > getal2){
var return = false;
mijndiv.innerHTML = "Is het eerste getal groter dan het tweede getal?" +getal1+" "+return;
}

else if(getal1 < getal2){
var return = true;
mijndiv.innerHTML = "Is het eerste getal kleiner dan het tweede getal?" +getal2+" "+return;
}

else if(getal1 == getal2){
var return = false;
mijndiv.innerHTML = "Is het eerste getal gelijk aan het tweede getal? De getallen zijn gelijk."+" "+return;
}
}
</script>


</head>

<body>

<h1>Getallen vergelijken</h1>

<form id="mijnform" method="post">
getal 1 : <input id="getal1" value=""/><br/>
getal 2 : <input id="getal2" value=""/><br/>
<input type="button" value="toon" OnClick="myFunction();">
</form>

<hr/>
<div id="divResult"></div>

</body>

</html>
0
Dominiqueguy
11 mars 2014 à 14:34
Pourrais-tu le tester, il y a une alerte rouge ligne 18 // if(getal1 > getal2){

Merci
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
11 mars 2014 à 16:21
Vous n'avez pas lut ce que je vous est marqué concernant le mot clé "return" en Javascript ?
<!DOCTYPE html> 
<html> 
	<head> 
		<meta charset="utf-8"> 
		<script type="text/javascript">	
			function myFunction(){ 
				
				var getal1 = document.getElementById("getal1").value; 
				var getal2 = document.getElementById("getal2").value; 
				var tekst = "<p>De getallen die u invoerde waren "+getal1+" en "+getal2+".</p>"; 
				var mijndiv = document.getElementById("divResult"); 
				
				if(getal1 > getal2){ 
					var retourn = false; 
					mijndiv.innerHTML = "Is het eerste getal groter dan het tweede getal?" +getal1+" "+retourn; 
				}	
				else if(getal1 < getal2){ 
					var retourn = true; 
					mijndiv.innerHTML = "Is het eerste getal kleiner dan het tweede getal?" +getal2+" "+retourn; 
				} 
				else if(getal1 == getal2){ 
					var retourn = false; 
					mijndiv.innerHTML = "Is het eerste getal gelijk aan het tweede getal? De getallen zijn gelijk."+" "+retourn; 
				}	
			} 
		</script> 
	</head> 
	
	<body> 
		
		<h1>Getallen vergelijken</h1> 
		
		<form id="mijnform" method="post"> 
			getal 1 : <input id="getal1" value=""/><br/> 
			getal 2 : <input id="getal2" value=""/><br/> 
			<input type="button" value="toon" OnClick="myFunction();"> 
		</form> 
		
		<hr/> 
		<div id="divResult"></div> 
		
	</body> 
</html>

0