Partage
  • Partager sur Facebook
  • Partager sur Twitter

gestionnaire de contact JavaScript

besoin d'aide sur ma boucle while

Sujet résolu
    15 août 2019 à 22:33:26

    Bonjour !!

    Je suis embêtée avec cet exercice, ça fait des jours que je tourne en rond. J'ai la structure du gestionnaire mais ma boucle ne fonctionne pas, elle propose bien le choix 0, 1 et 2 mais tourne à l'infini et en plus je n'arrive pas à reproposer  le choix des options sans que cela me crée un bug. Quelqu'un pourrait-il m'orienter sur la solution ? est-ce que le problème vient d'une incompatibilité while/switch ? Merci par avance pour votre précieuse aide ;))

    Le code JS ci-dessous:

    /* 
    Activité : gestion des contacts
    */
    
    // TODO : complétez le programme
    
    // creation d'un objet contact
    class Contact {
    	constructor(prenom,nom){
    		this.prenom = prenom;
    		this.nom = nom;
    	}
    	decrire (){
    		return  `Prénom: ${this.prenom} Nom: ${this.nom}`;
    	}
    }
    
    // ajout des nouveaux contacts
    const contact1 = new Contact("carole","levis");
    const contact2 = new Contact("melodie","Nelson");
    
    // essai contact
    //console.log(contact1.decrire());
    //alert(contact1.decrire())
    
    
    // fonction message de bienvenue et choix proposés
    function bienvenue (){
    	console.log(`1: Lister les contacts`),
    	console.log(`2: Ajouter un contact`),
    	console.log(`0: Quitter`)
    };
    
    console.log(`Bienvenue dans le gestionnaire de contacts`);
    bienvenue();
    
    // création d'un tableau
    const table = [];
    
    //ajout des contacts au tableau
    table.push(contact1);
    table.push(contact2);
    
    
    // fonction pour afficher details du tableau 
    function tableau (){
    	 table.forEach(item => {
    console.log(item.decrire())});
    		
    }
    
    //fonction pour ajouter un contact au tableau
    function newContact (){
    	const prenom= prompt("Entrez votre prénom");
    	const nom = prompt("Entrez votre nom");
    	const nouveauContact = new Contact(prenom, nom);
    	table.push(nouveauContact.decrire());
    
    }
    
    
    const choix = Number(prompt("Choisissez une option"));
    
    while (choix!== 0) {
    
    	switch (choix) {
    
    		case 1:
    		tableau();
    		break;
    
    		case 2:
    		newContact();
    		alert("Vous êtes bien enregistré!");
    		break;
    	}
    	bienvenue();
    	choix = Number(prompt("Choisissez une option"));
    	
    }
    
    console.log("Au revoir!");
    • Partager sur Facebook
    • Partager sur Twitter
      16 août 2019 à 2:34:23

      Bonjour :)

      je vois 2 pb

      La fonction newContact, tu push nouveauContact.decrire() mais il  faudrait mieux juste push nouveauContact.

      A la fin , tu proposes de faire plusieurs fois le choix ? dans ce cas, 'const choix' devrait etre 'var choix', car il peut changer. Et il faut le mettre dans le corps de while, juste au dessus du switch.

      Edit: je suis pas sure qu'il faut mettre 'var' a la place de 'const', en fait j'utilise jamais 'const', je connais pas.

      -
      Edité par Aldebo 16 août 2019 à 2:41:44

      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2019 à 18:04:15

        Bonjour,

        ça marche, c'était juste ma variable CONST qui posait tant de problèmes, ça ne m'avait même pas traversé l'esprit c'est grave, merci beaucoup pour ton aide!!!

        • Partager sur Facebook
        • Partager sur Twitter

        gestionnaire de contact JavaScript

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown