Alimenter une classe avec une prompt.

Résolu
barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -  
ARMAND3 Messages postés 122 Statut Membre -
Bonjour,

Je souhaite alimenter une classe avec une prompt mais je ne sais pas comment m'y prendre mais j'ai commencé de cette façon:

(La création de la classe commence à la ligne 35)
/* BOITE DE SAISIE AVEC LES OPTIONS */
function dialogue() {
	var stringSaisie= prompt("Saisissez une option:","Saisissez");
	var nombreSaisi = Number(stringSaisie);
		if (nombreSaisi === 0) {
			//On quitte le programme
			quitter();
		}
		else if (nombreSaisi === 1) {
			//Affichage des contacts
			afficherLesContacts()
		}
		else if (nombreSaisi === 2) {
//AJOUTER UN CONTACT
			ajouterUnContact()
		}
		else {
			//Message erreur
			erreur()
		}
}
// Création de la classe
var Contacts = {
    // initialise les contacts
    init: function (prenom,nom ) {
        this.prenom = prenom;
        this.nom = nom;
		},
// description des contacts
    decrire: function () {
        var description = "Nom : " + this.nom +
            ", Prénom : " + this.prenom;
        return description;
    }
}
//Initialisation des contacts
var personne1 = Object.create(Contacts);
	personne1.init("Carole", "Lévisse");
var personne2 = Object.create(Contacts);
	personne2.init("Mélodie", "Nelsonne");
 
//Affichage du message de bienvenue
	console.log("Bienvenue dans le gestionnaire des contacts");	
//Affiche le menu
	console.log(afficheMenu());
/*AFFICHER LE MENU */
function afficheMenu() {
	return "1 : Lister les contacts\n2 : Ajouter un contact\n0 : Quitter";
}
//Affiche la prompt 
	dialogue()
/*AFFICHER LES CONTACTS */
function afficherLesContacts() {
	console.log(personne1.decrire() + "\n");
	console.log(personne2.decrire() + "\n");
	console.log(afficheMenu());
//Affiche la prompt 
	dialogue()
}
/*QUITTER LE PROGRAMME */
function quitter() {
	console.log(afficheMenu());
	console.log("Au revoir !");
}
/*AJOUTER UN CONTACT */
function ajouterUnContact() {
	console.log("Code pour ajouter un contact");
//Affichage du menu
	console.log(afficheMenu());
//Affiche la prompt 
	dialogue()
}
//Affichage erreur de saisie
function erreur() {
	alert("Vous n'avez pas saisi d'option !");
//Affiche la prompt 
	dialogue()

Je vous remercie de votre aide.

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonsoir,

    Cadeau :
    // Création de la classe
    var Contacts = {
        // initialise les contacts
        init: function (prenom,nom ) {
            this.prenom = prenom;
            this.nom = nom;
    		},
    // description des contacts
        decrire: function () {
            var description = "Nom : " + this.nom +
                ", Prénom : " + this.prenom;
            return description;
        }
    };
    
    var personnes =[];
    //Initialisation des contacts
    var personne1 = Object.create(Contacts);
    	personne1.init("Carole", "Levisse");
      personnes.push(personne1);
    var personne2 = Object.create(Contacts);
    	personne2.init("Melodie", "Nelsonne");
      personnes.push(personne2);
      
      
    //Affichage du message de bienvenue
    	console.log("Bienvenue dans le gestionnaire des contacts");	
    //Affiche le menu
    	afficheMenu();
    
    
    //Affiche la prompt 
    	dialogue();
      
     
     //----------------------------------------------------------------------------------------------------//
     // FONCTIONS
     //----------------------------------------------------------------------------------------------------//
    
     /* BOITE DE SAISIE AVEC LES OPTIONS */
    function dialogue() {
    	var stringSaisie= prompt("Saisissez une option:","Saisissez");
    	var nombreSaisi = Number(stringSaisie);
    		if (nombreSaisi === 0) {
    			//On quitte le programme
    			quitter();
    		}
    		else if (nombreSaisi === 1) {
    			//Affichage des contacts
    			afficherLesContacts();
    		}
    		else if (nombreSaisi === 2) {
    //AJOUTER UN CONTACT
    			ajouterUnContact();
    		}
    		else {
    			//Message erreur
    			erreur();
    		}
    }
     
    /*AFFICHER LE MENU */
    function afficheMenu() {
    	console.log("1 : Lister les contacts\n2 : Ajouter un contact\n0 : Quitter");
    }
     
    /*AFFICHER LES CONTACTS */
    function afficherLesContacts() {
      personnes.forEach(AfficheArrayPersonnes); 
    	afficheMenu();
      dialogue();
    }
    
    function AfficheArrayPersonnes(element, index, array){
      console.log(index + " ->> Nom : "+element.nom + "  Prenom :"+element.prenom);
    }
    
    /*QUITTER LE PROGRAMME */
    function quitter() {
    	afficheMenu();
    	console.log("Au revoir !");
    }
    /*AJOUTER UN CONTACT */
    function ajouterUnContact() {
    	console.log("Code pour ajouter un contact");
      var str_nom= prompt("Saisissez un Nom:","Nom");
      var str_prenom= prompt("Saisissez un Prénom:","Prénom");
      var newPersonne = Object.create(Contacts);
    	newPersonne.init(str_nom, str_prenom);
      personnes.push(newPersonne);
    //Affichage du menu
    	afficheMenu();
    //Affiche la prompt 
    	dialogue();
    }
    
    //Affichage erreur de saisie
    function erreur() {
    	alert("Vous n'avez pas saisi d'option !");
    //Affiche la prompt 
    	dialogue();
    }
    
    


    0
    1. ARMAND3 Messages postés 122 Statut Membre 4
       
      tres bonne reponse jordanne45, mais apparemment son programme devrais etre dans une boucle, si non la
      if (nombreSaisi === 0) {
      //On quitte le programme
      quitter();
      n'aurais aucun sens car de toute les facons le programme va s'arreter;
      si j'ajoute un contact le programme s'arrete, si j'affiche les contacts le programme s'arrete
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > ARMAND3 Messages postés 122 Statut Membre
         
        Le programme ne s'arrête pas...... que dis tu ?
        ... tu as bien compris que le "menu" s'affiche dans la CONSOLE du navigateur hein ? ( pas dans le navigateur lui même.... )
        0
      2. ARMAND3 Messages postés 122 Statut Membre 4 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        si, je comprend bien . mais à quoi servirais le
        if (nombreSaisi === 0) {
        //On quitte le programme
        quitter();
        si le programme n'est pas dans une boucle. si je choisi 2 pour afficher les contacts le programme apres l'affichage va s'arreter, idem si je choisi 1 pour ajouter les contacts apres ajout du contact le programme va egalement s'arreter. je pense que le programme serais beaucoup mieux dans une boucle
        while(nombreSaisi!==0){
        // on execute le programme en donnant la possibilite de ressortir avec
        nombreSaisi=1;}
        c'est mon avis. merci
        0
  2. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    Merci beaucoup.
    0