IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Exercice Javascript - bloqué


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Exercice Javascript - bloqué
    Bonjour à tous,

    J'ai réalisé un exercice en JavaScript, seulement voilà, j'ai quelques bugs et j'aurais aimé voir où ça coinçait et avoir la solution pour le réparer. Ça fait des heures que je cherche et ça ne marche pas.

    Il est assez poussé (enfin je trouve). J'en ai besoins pour un travail au plus tard ce soir, je cherche toujours mais je ne trouve pas mon erreur. J'offre 5€ par paypal à celui qui aura résolu mon problème. Ça me retirerais une belle épine du pied…

    Voici l'exercice avec sa ressource :

    https://dl.dropboxusercontent.com/u/...52/ex_js_5.zip

    Le but est d'utiliser un tableau associatif (ça j'ai réussi) et d'après de pouvoir sélectionner une cote et avoir les résultats de l'élève dans les différents cours.

    J'ai un problème, lorsque je sélectionne une cote (par ex. 14) et que j'envoie le formulaire pour le nom choisi, ça ne s'arrête pas et ça fonctionne en boucle ! Je veux dire qu'une fois que le script a finit de me donner les cotes pour tous les cours, il me remet la même chose juste à coté, etc.
    Il m'affiche donc la phrase plusieurs fois.

    Ça se passe au niveau de l'étape B3b et B3c.

    Si vous avez une idée… je cale vraiment :/

    Merci à vous !

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    En faite je pense que le problème vient de cette partie ci de mon code, mais je bug :/

    Je reprend les données du tableau mais ça tourne en boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for(i=0;matricule!=etudiants[i]["matricule"];i++);
     
    	  etud=etudiants[i]["nom"]+" "+etudiants[i]["prenom"];
    	  coursCotes=etudiants[i]["cotesSur20"];
    	  	 //alert(etud+coursCotes);
    	  for(j=0;j<coursCotes.length;j++){
    	  if(coursCotes[j][0]>=coteMin){
    	  	res.push(etud+" a obtenu"+coursCotes[j][0]+" /20 au cours de "+coursCotes[j][1]);
    	  }

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Points : 376
    Points
    376
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=0;matricule!=etudiants[i]["matricule"];i++);
    Rien d'étonnant à ce que tu ais une boucle infini avec ça !


    J'ai pas regardé le reste du code mais là je pense que tu as bel et bien un problème

    Si tu ne trouves pas la condition matricule!=etudiants[i]["matricule"] avant la fin du tableau, alors tu vas continuer en boucle en tapant des undefined vu que i lui continuera à s'incrémenter.


    Quand on opte pour une boucle for, en général c'est pour parcourir la totalité d'un objet.

    Ici, la forme adopté est pas du tout adapté au problème,
    Tu devrais plutôt avoir quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    i=0
    Tant que matricule!=etudiants[i]["matricule"] OU i<TailleTab 
      FAIRE   ... 
                 i++
    FinTanQue
    Ici au moins tu es certain de sortir de ta boucle.

    EDIT; un autre soucis, tu écris ton for avec un ; à la fin, je suis pas certain de la syntaxe de Javascript, mais ça m'étonnerais beaucoup que ce soit ça =)

    for(...); pour moi ça revient à écrire for(...){null;}

    Ce qui voudrait dire qu'en fait tu n'as pas de boucle infini, c'est que tu ne rentre même pas ton code dans la boucle.


    EDIT2: Et mettre dans le titre que tu vas payer des gens ne te fera pas avoir d'aide plus vite..;bien au contraire d'ailleurs...

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo