bonjour, je vous remercie d'avoir pris le temps de me répondre, j'ai pu grâce a vous corriger mon code et je pense qu 'il est réussi maintenant et qu'il fonctionne dans tous les cas :
var c = prompt("Entrez un chiffre entier entre 0 et 999");
var chiffre = parseInt(c,10);
var unite = chiffre%10;
var dizaine = (chiffre%100 - unite)/10;
var centaine = (chiffre%1000 - chiffre%100)/100;
var lettre = '';
if (chiffre == 0){
lettre = "zéro";
}
switch(centaine){
case 1:
lettre += "cent ";
break;
case 2:
lettre += "deux cents ";
break;
case 3:
lettre += "trois cents ";
break;
case 4:
lettre += "quatre cents ";
break;
case 5:
lettre += "cinq cents ";
break;
case 6:
lettre += "six cents ";
break;
case 7:
lettre += "sept cents ";
break;
case 8:
lettre += "huit cents ";
break;
case 9:
lettre += "neuf cents ";
break;
}
switch(dizaine){
case 2:
lettre += "vingt";
break;
case 3:
lettre += "trente";
break;
case 4:
lettre += "quarante";
break;
case 5:
lettre += "cinquante";
break;
case 6:
lettre += "soixante";
break;
case 8:
lettre += "quatre vingts";
break;
case 7:
lettre += "soixante";
break;
case 9:
lettre += "quatre vingts";
break;
}
if (dizaine != 1 && dizaine !=7 && dizaine !=9){
switch(unite){
case 1:
if(dizaine == 8 || dizaine == 0){
lettre += " un";
}
else{
lettre += " et un";
}
break;
case 2:
lettre += " deux";
break;
case 3:
lettre +=" trois";
break;
case 4:
lettre +=" quatre";
break;
case 5:
lettre += " cinq";
break;
case 6:
lettre +=" six";
break;
case 7:
lettre +=" sept";
break;
case 8:
lettre +=" huit";
break;
case 9:
lettre += " neuf";
break;
}
}
else{
switch(unite){
case 0:
lettre += " dix";
break;
case 1:
if(dizaine == 7){
lettre += " et onze";
}
else{
lettre += " onze";
}
break;
case 2:
lettre += " douze";
break;
case 3:
lettre+= " treize";
break;
case 4:
lettre += " quatorze";
break;
case 5:
lettre += " quinze";
break;
case 6:
lettre += " seize";
break;
case 7:
lettre += " dix-sept";
break;
case 8:
lettre += " dix-huit";
break;
case 9:
lettre += " dix-neuf";
break;
}
}
alert(lettre);
J'ai mis des espaces entre les numéros au lieu des tirets
Une des raisons pour laquelle mon code ne marchait pas était due a un mauvaise utilisation de / c'est à dire que je l'utilisais comme en java où a/b renvoie un nombre entier forcement
Il ne fonctionne pas chez moi... comment ça se fait ?
Merci
L'activité 1 du premier cours : Dossier js
Fichier devinette.js
/*
Activité : jeu de devinette
*/
// NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
// COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne génère aléatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
// Décommentez temporairement cette ligne pour mieux vérifier le programme
//console.log("(La solution est " + solution + ")");
// TODO : complétez le programme
Il ne fonctionne pas chez moi... comment ça se fait ?
Merci
L'activité 1 du premier cours : Dossier js
Fichier devinette.js
/*
Activité : jeu de devinette
*/
// NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
// COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne génère aléatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
// Décommentez temporairement cette ligne pour mieux vérifier le programme
//console.log("(La solution est " + solution + ")");
// TODO : complétez le programme
J'ai un petit soucis sur l'activité 2 sur le cours, JSLint me donne une erreur :
Don't make functions within a loop. });
Voici la partie de mon code impacté :
while (choixUtil !== 0) {
if ((choixUtil < 0) || (choixUtil > 2)) {
console.log("Commande non reconnue");
choixUtil = Number(prompt("Choisissez une option :"));
} else if (choixUtil === 1) {
liste.forEach(function (contact) {
console.log(contact.decrire());
});
choixUtil = Number(prompt("Choisissez une option :"));
} else if (choixUtil === 2) {
console.log("Ici la suite du programme");
choixUtil = Number(prompt("Choisissez une option :"));
}
}
console.log("Au revoir !");
Malgré cette erreur JSLint, le programme semble fonctionner correctement, l'affichage de mes 2 contacts est réalisé et je n'ai aucune erreur lorsque je teste les différentes options.
bonjour ! essai de remonter plus loin dans les pages du forum, ce problème a déjà était traité me semble t il par moi même et d'autres il y a pas si longtemps, tu auras la réponse ou une partie.. si tu trouves pas.. reviens et je re expliquerais alors
Merci, je vais faire un petit tour. J'ai complété le programme et celui-ci tournait très bien donc cette erreur ne semble pas très importante.
Toutefois, la réponse m'interesse donc je vais quand même gratter un petit peu, si je ne trouve pas, je reviendrais. Encore merci.
EDIT : Quelques pages avant seulement, je suis confus...
"Pour ton problème de fonction dans une boucle, c'est pour éviter d'éxecuter une fonction en boucle en cas de boucle infinie. Si tu veux pallier au problème tu peux simplement faire une boucle for en lieu et place du forEach."
Pour Meriem :
Il suffit d'aller sur le site http://brackets.io/. Bien choisir la version, je n'ai eu aucun soucis.
Je viens d'installer brackets sur mon ordinateur, mais difficilement et maintenant je veux ajouter l'extension beautify en l'installant mais je n'y arrive pas, quand je clic sur installer, une boite de dialogue s'affiche me disant échec d'installation, erreur interne inconnue. Que dois-je faire ?
Merci, je vais faire un petit tour. J'ai complété le programme et celui-ci tournait très bien donc cette erreur ne semble pas très importante.
Toutefois, la réponse m'interesse donc je vais quand même gratter un petit peu, si je ne trouve pas, je reviendrais. Encore merci.
EDIT : Quelques pages avant seulement, je suis confus...
"Pour ton problème de fonction dans une boucle, c'est pour éviter d'éxecuter une fonction en boucle en cas de boucle infinie. Si tu veux pallier au problème tu peux simplement faire une boucle for en lieu et place du forEach."
Pour Meriem :
Il suffit d'aller sur le site http://brackets.io/. Bien choisir la version, je n'ai eu aucun soucis.
- Edité par Lo_S hier à 12:48
as tu résolu ton problème? as tu trouvé la solution avec la boucle for? il faut adapter légèrement son code si je me souviens pour que ca fonctionne parfaitement mais ca reste très facile.
MeriemSeeovic a écrit:
Bonsoir,
Je viens d'installer brackets sur mon ordinateur, mais difficilement et maintenant je veux ajouter l'extension beautify en l'installant mais je n'y arrive pas, quand je clic sur installer, une boite de dialogue s'affiche me disant échec d'installation, erreur interne inconnue. Que dois-je faire ?
Merci d'avance
quelle sont les caractéristiques de ton pc? normalement directement sur le site brackets tu peux télécharger la version correspondante à ton os, c'est un logiciel très simple d'utilisation et assez léger, tu ne devrais pas avoir ces problème d'installation, l'extension beautify se fait depuis l'onglet extension de bracket..
Je viens d'installer brackets sur mon ordinateur, mais difficilement et maintenant je veux ajouter l'extension beautify en l'installant mais je n'y arrive pas, quand je clic sur installer, une boite de dialogue s'affiche me disant échec d'installation, erreur interne inconnue. Que dois-je faire ?
Merci d'avance
bonjour,
Il y a un bug avec Brackets 1.8 tu dois avoir cette version c'est la dernière et effectivement on ne peut plus rien télécharger avec, d’après les comms. c'est pas tout le monde mais au moins 90 %. Perso moi j'aime Brackets et je ne veux pas utiliser un autre j'en ai testé plusieurs, sublim etc , je le trouve mieux( c'est un avis perso.).
La solution que j'ai trouvé c'est de télécharger la version 1.7 de Brackets ici tu supprimes ta V 1.8 de ton ordi, tu installes 1.7 tu télécharges tout ce que tu as besoin et tu reviens en 1.8. c'est un peu galère si tu es pas tant que ça attachée à Brackets tu le feras surement pas, mais bon c'est la seule solution que j'ai trouvé. Un correctif devrait pas tarder car se bug a été remonté aux devs.
Toutes les 'issues' remontées par les utilisateurs concernant se problème : sur cette page
j'aimerai savoir un truc, lorsque je télécharge le fichier zip de l'activité 2, est ce que je dois recevoir un programme initial et je dois le compléter, ou il est vide ?
as tu résolu ton problème? as tu trouvé la solution avec la boucle for? il faut adapter légèrement son code si je me souviens pour que ca fonctionne parfaitement mais ca reste très facile.
Désolé pour la réponse très tardive, je n'avais pas vu les notifications !
Oui j'ai trouvé la réponse quelques pages avant ma question. J'ai donc pu resoudre le problème sans trop de difficultés. Merci pour ton aide !
Il y' a des personnes fournissent des notes et même pas ils ont essayer de voir le programme pour le corriger. je me sens tromper avec cette méthodologie.
title="inclure la majuscule/minscule/chiffre/lettre et il doit contenir au moins 8caracteres" required> <a href="#0" class="hide-password">Masquer</a> </div>
<div class="input-log"> <label for="passwordCon">Confirm Mot De Passe</label> <input type="password" name="passwordCon" id="passwordCon" class="passConfirm" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" onchange="this.setCustomValidity(this.validity.patternMismatch ? 'Entrez le meme mot de passe' : '');" required > <a href="#0" id="a"class="hide-password">Masquer</a> </div>
<div class="lien-redirection"> <input type="submit" value="Signup Now" id="submit" onclick="ValidCaptcha();" > <a rel="nofollow" id="a"rel="noreferrer"href="#" class="switch">J'ai Deja Un Compte</a> </div> </form> </div> <!-- fin formulaire dinscription -->
<script>
function Captcha(){
$('#txtInput').val('');
var alpha = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'); var i; for (i=0;i<6;i++){ var a = alpha[Math.floor(Math.random() * alpha.length)]; var b = alpha[Math.floor(Math.random() * alpha.length)]; var c = alpha[Math.floor(Math.random() * alpha.length)]; var d = alpha[Math.floor(Math.random() * alpha.length)]; var e = alpha[Math.floor(Math.random() * alpha.length)]; var f = alpha[Math.floor(Math.random() * alpha.length)]; var g = alpha[Math.floor(Math.random() * alpha.length)]; } var code = a + b + c + d + e + f + g; document.getElementById("mainCaptcha").value = code } function ValidCaptcha(){ var string1 = removeSpaces(document.getElementById('mainCaptcha').value); var string2 = removeSpaces(document.getElementById('txtInput').value); if (string1 == string2) { $("#txtInput").css({ "color" : "#609D29" }); } else { $("#txtInput").css({ "color" : "#CE3B46" }); e.preventDefault();
} } function removeSpaces(string){ return string.split(' ').join(''); }
mon code JS m'affiche :[object HTMLSpanElement] ainsi que [object HTMLParagraphElement] lors de l'affichage au lieu des valeurs demandées. On m'a dit qu'il fallait mettre .innerHTML pour pouvoir accéder aux valeurs.
Le problème c'est que je ne voit pas où il faut mettre .innerHTML dans le code. (j'ai essayé des les mettre lors de leur appel
var formulaireTitre = document.getElementById("titre").innerHTML; var formulaireUrl = document.getElementById("url").innerHTML; var formulaireNom = document.getElementById("nom").innerHTML;
mais ça ne marche pas....
J'ai beau cherché depuis des heures et des heures, je ne voit pas comment avoir les valeurs des formulaires.
Le plus bizarre c'est que le formulaire URL marche mais les deux autres non....
Voici mon code :
// Création du bouton
document.getElementById("contenu").insertAdjacentHTML("afterBegin", '<button id="bouton"> Ajouter un lien</button>');
var boutonElt = document.getElementById("bouton");
// Initialisation de la fonction clic
function clic() {
// Création du formulaire pour l' URL
document.getElementById("contenu").insertAdjacentHTML("afterBegin", '<input type = "texte" name = "url" id="url" size="40" placeholder= "Entrez l URL du lien" required>');
var formulaireUrl = document.getElementById("url");
formulaireUrl.style.marginRight = "15px"; // Création marge entre formulaires
// Création du formulaire pour le Titre du lien
document.getElementById("contenu").insertAdjacentHTML("afterBegin", '<input type ="texte" name="titre" id="titre" size="40" placeholder = "Entrez le titre du lien" required>');
var formulaireTitre = document.getElementById("titre");
formulaireTitre.style.marginRight = "15px"; // Création marge entre formulaires
// Création du formulaire pour le Nom
document.getElementById("contenu").insertAdjacentHTML("afterBegin", '<input type ="texte" name ="nom" id="nom" placeholder = "Entrez votre nom" required>');
var formulaireNom = document.getElementById("nom");
formulaireNom.style.marginRight = "15px"; // Création marge entre formulaires
// Création et Gestion du deuxième bouton
var boutonAjouterElt = document.createElement ("button"); // Création du nouveau bouton
boutonAjouterElt.id = "boutonAjouter"; // Définition de son identifiant
boutonAjouterElt.textContent = "Ajouter"; // Définition du texte du bouton
// Remplacement de l'ancien bouton par le nouveau
document.getElementById("contenu").replaceChild(boutonAjouterElt, document.getElementById("bouton"));
boutonAjouterElt.addEventListener("click", function(){
var urlElt = formulaireUrl;
var titreElt = formulaireTitre;
var nomElt = formulaireNom;
var urlSaisi = urlElt.value;
var titreSaisi = titreElt.value;
var nomSaisi = nomElt.value;
var regexUrl = /(http:\/\/|https:\/\/).+\.+.+/;
if (!regexUrl.test (urlSaisi)){ // Si l'expression ne comprte ni http:// ni https://
urlSaisi = "http://" + urlSaisi;
} else if (regexUrl.test (urlSaisi)) { // Si l'expression possède http:// ou https://
urlSaisi = urlSaisi;
}
var compteur = 0; // Permet d'afficher une seule fois le message
function messageValidation() { // Création du message de validation
if (compteur === 0) {
// Création du message de validation
var messageValidationElt = document.createElement("div");
messageValidationElt.id = "messageVal"; // Définit son identifiant
messageValidationElt.textContent = "Le lien " + titreSaisi + " a bien été ajouté";
document.getElementById("contenu").insertBefore(messageValidationElt, document.getElementById("boutonAjouter")); // Creer le message avant le bouton ajouter
// Création du fond et changement des couleurs pour message de validation
messageValidationElt.style.backgroundColor ="#7adbff"; // Couleur fond
messageValidationElt.style.color ="#133756"; // Couleur texte
messageValidationElt.style.padding = "25px 0 25px 10px"; // Marge intérieure
messageValidationElt.style.margin = "0 0 18px 0"; // Marge extérieure
compteur +=1;
} else if (compteur >= 1) {
clearInterval(intervalId);
}
};
function supressionMessage () { // Permet la suppression du message de validation
document.getElementById("contenu").removeChild(document.getElementById("messageVal"));
clearInterval(dureeAffichage);
};
var intervalId = setInterval(messageValidation, 0); // Démarre l'affichage du Mess de val.
var dureeAffichage = setInterval(supressionMessage, 2000); // Affiche le Mess de val. pdt 2s
var dlNouvelElt = document.createElement("dl") // Création d'une liste
var styleNouvelElement = getComputedStyle(document.getElementById("contenu"));
var dtNouvelElt = document.createElement("dt");
dtNouvelElt.style.backgroundColor="white";
dtNouvelElt.style.padding="8px 0 8px 0";
// Configuration des nouveaux titres
titreSaisi = document.createElement("a");
titreSaisi.href = urlSaisi;
titreSaisi.textContent = titreSaisi;
titreSaisi.style.fontWeight ="bold";
titreSaisi.style.color="#428bca";
titreSaisi.style.marginLeft="10px";
titreSaisi.style.textDecoration="none";
// Configuration des nouveaux URL
urlSaisi = document.createElement("span");
urlSaisi.textContent = urlSaisi;
urlSaisi.style.marginLeft="6px";
// Configuration des nouveaux noms pour les auteurs
nomSaisi = document.createElement("dt");
nomSaisi.textContent = "Ajouté par " + nomSaisi;
nomSaisi.style.marginLeft="10px";
nomSaisi.style.marginTop="3px";
nomSaisi.style.marginTop="3px";
// Création d'un "br"
var NouveauBrElt = document.createElement("br");
dtNouvelElt.appendChild(titreSaisi);
dlNouvelElt.appendChild(dtNouvelElt);
dtNouvelElt.appendChild(urlSaisi);
dtNouvelElt.appendChild(nomSaisi);
// Supression des 3 formulaires
document.getElementById("contenu").removeChild(urlElt);
document.getElementById("contenu").removeChild(titreElt);
document.getElementById("contenu").removeChild(nomElt);
// Ajout à la page du nouveau formulaire
document.getElementById("contenu").insertBefore(dlNouvelElt, document.querySelector("dl"));
}); // fin de la fonction boutonAjouter.addEventListener
}; // fin de la première fonction clic
// Ajout de l'événement click
boutonElt.addEventListener("click", clic);
mon code JS m'affiche :[object HTMLSpanElement] ainsi que [object HTMLParagraphElement] lors de l'affichage au lieu des valeurs demandées. On m'a dit qu'il fallait mettre .innerHTML pour pouvoir accéder aux valeurs.
Le problème c'est que je ne voit pas où il faut mettre .innerHTML dans le code. (j'ai essayé des les mettre lors de leur appel
var formulaireTitre = document.getElementById("titre").innerHTML; var formulaireUrl = document.getElementById("url").innerHTML; var formulaireNom = document.getElementById("nom").innerHTML;
mais ça ne marche pas....
J'ai beau cherché depuis des heures et des heures, je ne voit pas comment avoir les valeurs des formulaires.
Le plus bizarre c'est que le formulaire URL marche mais les deux autres non....
Si tu veux récupérer le texte saisi dans les zones de texte de ton formulaire, Mieux vaut utiliser la propriété value. Comme ci-dessous :
urlSaisi.textContent = document.getElementById("url").value;
nomSaisi.textContent = "Ajouté par " + document.getElementById("nom").value;
J'ai pas tout corrigé mais c'est l'idée et lorsque tu fait
titreSaisi = document.createElement("a"); //ça veut dire que crée un objet html, une balise de type lien, il est donc illogique que t'affectes cette balise comme contenue textuel
titreSaisi.textContent = titreSaisi;
//Pour l'url ça marche parce que cette balise se base sur son attribut href, //J'espère avoir été clair.
Je suis en train de suivre le cours, je suis arriver au premier chapitre sur la POO et une question me taraude l'esprit, lorsque Baptiste nous présente la seconde méthode pour créer un objet, laquelle de ces 2 façons est la plus utilisé par les développeurs ?
× 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.
" Si vis pacem, para bellum "