Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3239 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript]Je trouve pas mon erreur...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript]Je trouve pas mon erreur...

n°356689
smilm
Posté le 09-04-2003 à 14:46:00  profilanswer
 

Je suis en train d'apprendre a manipuler le javascript , mais vu qu'on a pas de compilateur (a ce que je sache..?) c'est chiant
 
voilà mon code:
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" >  
var a, cpt,verif,com,I;
array1 = new Array (5) ;
 array1[1] = "Poisson" ;
 array1[2] = "Cigare" ;
 array1[3] = "Chocolat" ;
 array1[4] = "Bonbon" ;
 array1[5] = "Miel" ;
 
//ini
verif=0;
cpt=1 ;
com=0;
I=1;
document.write("I="+I+"<br>" );
//Verif de vérif
if (verif==0) { document.write(" verif est égale a 0<br>" );}
//boucle while
while(verif==0)
{
 a = prompt ("Yo , t\' aime quoi comme aliments", "Donne en 1" ) ; //prompt
 
while(I <= 5 )
{
 if (a == array1[I])
 {document.write("Moi aussi jaime les "+ a +" !<br>" );
 com++;};
 I++;
};
//Le bug est quand j'ai rajouter le while(I<=5){};
 else{document.write("Ben moi j\'aime pas les "+a+"<br>" );};//else
    if (cpt==5){verif=1};
 cpt++ ;
};
document.write("nous avons " +com + " aliments en commun" );
 
</script>
</head>
 
<body>
 
</body>
</html>
 
 
En fait , avant j'avais fais un truc pas tres pratique :
 if (a == array1[1] || a == array1[2] || a == array1[3] || a == array1[4] || a == array1[5]){document.write("Moi aussi jaime les "+ a +" !<br>" );
 
 
c'est pas tres modulable...mais ca marche.
 
Merci d'avance.


---------------
AfterEnd: Batissez un nouveau monde
mood
Publicité
Posté le 09-04-2003 à 14:46:00  profilanswer
 

n°356725
walli
Posté le 09-04-2003 à 15:21:59  profilanswer
 

Ordonne ton code, tu verras tout de suite ton erreur ;)
avant tu faisais un :

Code :
  1. if condition
  2.        document.write("moi aussi..." );
  3.      else
  4.        document.write("moi j'aime pas..." );


et maintenant tu fais :  

Code :
  1. while ...
  2.        document.write("moi aussi..." );
  3.      else
  4.        document.write("moi j'aime pas..." );


C'est normal qu'il n'apprecie pas qu'il y ait un else sans if devant.


Message édité par walli le 09-04-2003 à 15:23:41

---------------
NP :
n°356740
smilm
Posté le 09-04-2003 à 15:38:21  profilanswer
 

Mon code c'est ca :
while(I <= 5 )
{
if (a == array1[I])
{document.write("Moi aussi jaime les "+ a +" !<br>" );
com++;};
I++;
};
else{document.write("Ben moi j\'aime pas les "+a+"<br>" );};//else  
   if (cpt==5){verif=1};  
cpt++ ;  
};  
Ya bien le If et le else... avec le while avant , je capte pas !:(


---------------
AfterEnd: Batissez un nouveau monde
n°356761
walli
Posté le 09-04-2003 à 15:58:59  profilanswer
 

SmilM a écrit :

Mon code c'est ca :
while(I <= 5 )
{
if (a == array1[I])
{document.write("Moi aussi jaime les "+ a +" !<br>" );
com++;};
I++;
};
else{document.write("Ben moi j\'aime pas les "+a+"<br>" );};//else  
   if (cpt==5){verif=1};  
cpt++ ;  
};  
Ya bien le If et le else... avec le while avant , je capte pas !:(
 


 
et celle la qu'est qu'elle fiche la ? ;)
elle te ferme ton while avant que tu ne mettes ton else !
 
de plus le fait de faire une boucle sur ton 'I' et de l'incrementer, va faire en sorte qu'il va te tester d'abord si c'est égal à array1[1], puis apres si c'est égal à array1[2], etc....
et non si c'est égal à array1[I] avec I compris entre 1 et 5.
 
il faut donc que tu fasses ton test pour toute valeur de I comprise entre 1 et 5.
je sais pas si je suis très claire  :pt1cable:  


Message édité par walli le 09-04-2003 à 16:02:08

---------------
NP :
n°357090
smilm
Posté le 09-04-2003 à 20:28:15  profilanswer
 

walli a écrit :


 
et celle la qu'est qu'elle fiche la ? ;)
elle te ferme ton while avant que tu ne mettes ton else !
 
de plus le fait de faire une boucle sur ton 'I' et de l'incrementer, va faire en sorte qu'il va te tester d'abord si c'est égal à array1[1], puis apres si c'est égal à array1[2], etc....
et non si c'est égal à array1[I] avec I compris entre 1 et 5.
 
il faut donc que tu fasses ton test pour toute valeur de I comprise entre 1 et 5.
je sais pas si je suis très claire  :pt1cable:  
 


 
Si j'ai compris , j'avais ce probleme au début, c'est pour ca que j'ai fais apparaitre le I et sa boucle.
Il va en principe me permettre qu'il test toute les valeurs pour array1 (de 1 a 5) , avant de faire son document.write ...
Mais si je ferme ma boucle aprés le else ,ca fera un document write si jamais A <> array1[I]


---------------
AfterEnd: Batissez un nouveau monde
n°357097
smilm
Posté le 09-04-2003 à 20:30:55  profilanswer
 

walli a écrit :


 
et celle la qu'est qu'elle fiche la ? ;)
elle te ferme ton while avant que tu ne mettes ton else !
 
de plus le fait de faire une boucle sur ton 'I' et de l'incrementer, va faire en sorte qu'il va te tester d'abord si c'est égal à array1[1], puis apres si c'est égal à array1[2], etc....
et non si c'est égal à array1[I] avec I compris entre 1 et 5.
 
il faut donc que tu fasses ton test pour toute valeur de I comprise entre 1 et 5.
je sais pas si je suis très claire  :pt1cable:  
 


 
Et c'est quoi ta solution pour ca ?
( a part : [i]if (a == array1[1] || a == array1[2] || a == array1[3] || a == array1[4] || a == array1[5]){document.write("Moi aussi jaime les "+ a +" !<br>" ); [/i]
Solution pas tres modulable..
 


---------------
AfterEnd: Batissez un nouveau monde
n°357099
walli
Posté le 09-04-2003 à 20:31:57  profilanswer
 

SmilM a écrit :


 
Si j'ai compris , j'avais ce probleme au début, c'est pour ca que j'ai fais apparaitre le I et sa boucle.
Il va en principe me permettre qu'il test toute les valeurs pour array1 (de 1 a 5) , avant de faire son document.write ...
Mais si je ferme ma boucle aprés le else ,ca fera un document write si jamais A <> array1[I]


 
nan, avec ton ancien test, ton problème ne se posait pas !


---------------
NP :
n°357799
michael500​00
Happy Halloween :-D
Posté le 10-04-2003 à 14:51:38  profilanswer
 

walli a écrit :


 
nan, avec ton ancien test, ton problème ne se posait pas !
 


 
Mon ancien test ?  avec ca :
 if (a == array1[1] || a == array1[2] || a == array1[3] || a == array1[4] || a == array1[5]){document.write("Moi aussi jaime les "+ a +" !<br>" );   ??
Parce que si j'ai 10000 trucs a mettre ... ca va pas etre super! a==array1[999]...a==array1[1000]...
 
A moins que tu parles d'autre chose ? Dans ce cas , je ne comprends pas ,peut tu me montrer le code de mon ancienne solution  ?
 
 
ps: j'ai pris un pseudo de double, mais c'est SmilM

n°357821
walli
Posté le 10-04-2003 à 15:01:36  profilanswer
 

michael50000 a écrit :


 
Mon ancien test ?  avec ca :
 if (a == array1[1] || a == array1[2] || a == array1[3] || a == array1[4] || a == array1[5]){document.write("Moi aussi jaime les "+ a +" !<br>" );   ??
Parce que si j'ai 10000 trucs a mettre ... ca va pas etre super! a==array1[999]...a==array1[1000]...
 
A moins que tu parles d'autre chose ? Dans ce cas , je ne comprends pas ,peut tu me montrer le code de mon ancienne solution  ?
 
 
ps: j'ai pris un pseudo de double, mais c'est SmilM
 


 
Ce que je voulais dire c'est que ton ancien code fonctionnait, mais qu'effectivement, ça n'est pas terrible si jamais tu as un tableau à 100 éléments.
Ce que je ferais à ta place c'est passer par une deuxième fonction qui va parcourir ton tableau et qui te ramène un booleen : true si ta variable 'a' est dans ton tableau, sinon elle te ramene false.
apres tu as juste un test à faire sur ton booleen pour écrire si oui tu aimes... ou si tu n'aimes pas...
 


---------------
NP :
n°358711
michael500​00
Happy Halloween :-D
Posté le 11-04-2003 à 13:27:54  profilanswer
 

Ca me parait bien compliquer pour faire quelque chose de basique , j'ai essayer quelque chose avec mon pere hier ,mais ca plantait aussi.
J'essayerai ta technique plus tard et je te donnerais des nouvelles.
 
Merci beaucoup Walli :d


---------------
Regarde le ciel, et vois ce que tu peux voir.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript]Je trouve pas mon erreur...

 

Sujets relatifs
Y a t-il un moyen pour verifier si JavaScript est activé en PHP ?Sujet plutot simple mais je ne trouve rien ...
c koi ce message d'erreur ??JSP : mécanisme d'erreur au comportement étrange
erreur avec tray message...Status pour un serveur en php ou javascript ?
[Javascript] Envoi d'une requête HEAD ou POST et lecture de la réponsevisual basic et javascript
[javascript] fermeture du navigateur[Javascript tout con] Help, je trouve po l'erreur !!!
Plus de sujets relatifs à : [Javascript]Je trouve pas mon erreur...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR