Alimenter une classe avec une prompt.

Résolu/Fermé
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - 11 déc. 2015 à 22:58
ARMAND3 Messages postés 115 Date d'inscription jeudi 14 février 2013 Statut Membre Dernière intervention 26 décembre 2015 - 12 déc. 2015 à 17:09
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
12 déc. 2015 à 02:45
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
ARMAND3 Messages postés 115 Date d'inscription jeudi 14 février 2013 Statut Membre Dernière intervention 26 décembre 2015 4
12 déc. 2015 à 16:09
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > ARMAND3 Messages postés 115 Date d'inscription jeudi 14 février 2013 Statut Membre Dernière intervention 26 décembre 2015
12 déc. 2015 à 16:36
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
ARMAND3 Messages postés 115 Date d'inscription jeudi 14 février 2013 Statut Membre Dernière intervention 26 décembre 2015 4 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
12 déc. 2015 à 17:09
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
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 110
12 déc. 2015 à 16:51
Merci beaucoup.
0