Javascript- Boolean
Résolu
Harmonye
-
lucas06150 Messages postés 156 Statut Membre -
lucas06150 Messages postés 156 Statut Membre -
Bonjour,
j'ai actuellement un exercice à faire. Le sujet étant le suivant : Ecrire un algorithme qui demande à l'utilisation de saisir une date (jour, mois, année) et affiche si cette date est valide ou non.
J'ai tout d'abord résolu cet exercice en faisait un algorithme que j'ai voulu mettre en javascript:
<html>
<body>
<script>
var jour;
var mois;
var annee;
var bissextile=Boolean;
do
{
jour=Number(prompt("Entrez un jour"));
}
while ((jour<1) || (jour >31));
do
{
mois=Number(prompt("Entrez un mois"));
}
while ((mois<1) || (mois>12));
annee=Number(prompt("Entrez une année"));
bissextile=false;
if ((( annee%4==0) && (annee%100!=0)) || (annee%400==0)))
bissextile=true;
if (mois=2)
{
if (bissextile=true)
{
if (jour>29)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
else
{
if (jour>28)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
}
}
}
do
{
jour=Number(prompt("Entrez un jour"));
}
while ((jour<1) || (jour>31));
do
{
mois=Number(prompt("Entrez u mois"));
}
while ((mois<1) || (mois>12));
}
annee=Number(prompt("Entrez une année"));
</script>
</body>
</html>
Jusqu'à la "bissextile=true;", tout fonctionne mais après, ça ne veut plus. Je pense que je ne sais pas utiliser les boolean correctement, et il se peut aussi que je me sois trompée à un autre endroit.
Pourriez-vous m'aider ?
Merci !
j'ai actuellement un exercice à faire. Le sujet étant le suivant : Ecrire un algorithme qui demande à l'utilisation de saisir une date (jour, mois, année) et affiche si cette date est valide ou non.
J'ai tout d'abord résolu cet exercice en faisait un algorithme que j'ai voulu mettre en javascript:
<html>
<body>
<script>
var jour;
var mois;
var annee;
var bissextile=Boolean;
do
{
jour=Number(prompt("Entrez un jour"));
}
while ((jour<1) || (jour >31));
do
{
mois=Number(prompt("Entrez un mois"));
}
while ((mois<1) || (mois>12));
annee=Number(prompt("Entrez une année"));
bissextile=false;
if ((( annee%4==0) && (annee%100!=0)) || (annee%400==0)))
bissextile=true;
if (mois=2)
{
if (bissextile=true)
{
if (jour>29)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
else
{
if (jour>28)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
}
}
}
do
{
jour=Number(prompt("Entrez un jour"));
}
while ((jour<1) || (jour>31));
do
{
mois=Number(prompt("Entrez u mois"));
}
while ((mois<1) || (mois>12));
}
annee=Number(prompt("Entrez une année"));
</script>
</body>
</html>
Jusqu'à la "bissextile=true;", tout fonctionne mais après, ça ne veut plus. Je pense que je ne sais pas utiliser les boolean correctement, et il se peut aussi que je me sois trompée à un autre endroit.
Pourriez-vous m'aider ?
Merci !
A voir également:
- Javascript- Boolean
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
15 réponses
Bonjour,
L'opérateur de comparaison est == .
Donc, par exemple, if (mois=2) deviens if (mois==2)
Tu dois sûrement avoir des erreurs à cause de ça
L'opérateur de comparaison est == .
Donc, par exemple, if (mois=2) deviens if (mois==2)
Tu dois sûrement avoir des erreurs à cause de ça
Merci , je n'avais pas vu cette erreur ! J'ai modifié mais ça plante toujours.
Les valeurs boleans qui sont dans le javascript sont-elles correctes ? :/
Les valeurs boleans qui sont dans le javascript sont-elles correctes ? :/
Je ne pense pas qu'il soit utile d'écrire ca
var bissextile=Boolean;
Essaye en mettant var bissextile = false;
var bissextile=Boolean;
Essaye en mettant var bissextile = false;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<html> <body> <script> var jour; var mois; var annee; var bissextile=Boolean; do { jour=Number(prompt("Entrez un jour")); } while ((jour<1) || (jour >31)); do { mois=Number(prompt("Entrez un mois")); } while ((mois<1) || (mois>12)); annee=Number(prompt("Entrez une année")); bissextile=false; if (( annee%4==0) && (annee%100!=0) || annee%400==0) { bissextile=true; } if ((mois=2) && (bissextile=true) && (jour>29)) { document.write("Date invalide"); } else { document.write("Date valide"); } if ((mois=2) && (bissextile=false) && (jour>28)) { document.write("Date invalide"); } else { document.write("Date valide"); } } do { jour=Number(prompt("Entrez un jour")); } while ((jour<1) || (jour>31)); do { mois=Number(prompt("Entrez u mois")); } while ((mois<1) || (mois>12)); annee=Number(prompt("Entrez une année")); </script> </body> </html>
Essais ca
En revanche pour mon code (que je viens de te donner), j'ai créer un fonction Date() comprenant tout ton code javascript appelé par un bouton dans un formulaire.
Autrement je ne vois pas comment tu peux faire appelle au code javascript ??..
Est-ce que le code que tu as fournis est tout le code de ta page ?
Autrement je ne vois pas comment tu peux faire appelle au code javascript ??..
Est-ce que le code que tu as fournis est tout le code de ta page ?
Je viens de me rendre compte que je me suis trompée de fin. Je suis plutôt novice en javascript, il serait peut être préférable que je donne mon algorithme ?
Je redonne le js du coup :
<html>
<body>
<script>
var jour;
var mois;
var annee;
var bissextile=boolean;
do
{
jour=Number(prompt("Entrez un jour"));
}
while ((jour<1) || (jour >31));
do
{
mois=Number(prompt("Entrez un mois"));
}
while ((mois<1) || (mois>12));
annee=Number(prompt("Entrez une année"));
bissextile=false;
if ((( annee%4==0) && (annee%100!=0)) || (annee%400==0)))
bissextile=true;
if (mois==2)
{
if (bissextile=true)
{
if (jour>29)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
else
{
if (jour>28)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
else
if ((mois==4) || (mois==6) || (mois==9) || (mois==11))
{
if (jour>30)
{
document.write("Date invalide");
}
else
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
</script>
</body>
</html>
Je pense que je me suis trompée, à force d'imbriquer des conditionnelles, je me mélange les pinceaux !
Je redonne le js du coup :
<html>
<body>
<script>
var jour;
var mois;
var annee;
var bissextile=boolean;
do
{
jour=Number(prompt("Entrez un jour"));
}
while ((jour<1) || (jour >31));
do
{
mois=Number(prompt("Entrez un mois"));
}
while ((mois<1) || (mois>12));
annee=Number(prompt("Entrez une année"));
bissextile=false;
if ((( annee%4==0) && (annee%100!=0)) || (annee%400==0)))
bissextile=true;
if (mois==2)
{
if (bissextile=true)
{
if (jour>29)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
else
{
if (jour>28)
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
else
if ((mois==4) || (mois==6) || (mois==9) || (mois==11))
{
if (jour>30)
{
document.write("Date invalide");
}
else
{
document.write("Date invalide");
}
else
{
document.write("Date valide");
}
</script>
</body>
</html>
Je pense que je me suis trompée, à force d'imbriquer des conditionnelles, je me mélange les pinceaux !
Ce code marche
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="verif_inscription.js" charset="iso_8859-1"></script> <meta http-equiv="Content-Type" content="text/plain; charset=iso-8859-1" /> <body> <script> function Date(){ var jour; var mois; var annee; var bissextile=true; do { jour=Number(prompt("Entrez un jour")); } while ((jour<1) || (jour >31)); do { mois=Number(prompt("Entrez un mois")); } while ((mois<1) || (mois>12)); annee=Number(prompt("Entrez une année")); bissextile=false; if (( annee%4==0) && (annee%100!=0) || annee%400==0) { bissextile=true; } if ((mois=2) && (bissextile=true) && (jour>29)){ alert("Date invalide"); } else { alert("Date valide"); } /*do { jour=Number(prompt("Entrez un jour")); } while ((jour<1) || (jour>31)); do { mois=Number(prompt("Entrez u mois")); } while ((mois<1) || (mois>12)); annee=Number(prompt("Entrez une année")); */ } </script> <input type="button" onClick="Date()" value="Test Date"/> </body> </html>
Effectivement !
Pouvez-vous m'expliquer ce que vous avez fait ? :o
Quoi que ça ne marche pas avec le 30 04 2010 :/
Pouvez-vous m'expliquer ce que vous avez fait ? :o
Quoi que ça ne marche pas avec le 30 04 2010 :/
J'ai simplement écris 3 If en 1 :
et enlevé la dernière partie qui était une répétition de la première
Si tu as d'autres questions n'hésite pas !
PS : il te manque tous les tests pour les jours max en fonction des mois
Exemple : 31 jours max en juillet.
Je te laisse réfléchir :)
if ((mois=2) && (bissextile=true) && (jour>29))
et enlevé la dernière partie qui était une répétition de la première
Si tu as d'autres questions n'hésite pas !
PS : il te manque tous les tests pour les jours max en fonction des mois
Exemple : 31 jours max en juillet.
Je te laisse réfléchir :)