11521 sujets

JavaScript, DOM et API Web HTML5

var Pain = 5;
var Legumes = 7;
var Riz = 8;
var Sauce = 4;
var Garniture;
var montant;
var TVA=7;

Garniture = (prompt('Entrez votre garniture (LEGUMES ou RIZ ou SAUCE)'));

var montant = Pain + Garniture;
var total = montant + (montant * TVA);

if (Garniture.toUpperCase() === 'LEGUMES') {
document.write ('Le montant est de ' + (Pain + Legumes) + '$');
}

else if (Garniture.toUpperCase() === 'RIZ') {
document.write ('Le montant est de ' + (Pain + Riz) + '$');
}

else if (Garniture.toUpperCase() === 'SAUCE') {
document.write ('Le montant est de ' + (Pain + Sauce) + '$');
}

else {
document.write ('Veuillez entrer des informations valides');
}

console.log ('FACTURE');
console.log ('Une grande pizza: ' + Pizza + '$');
console.log ('Plus ' + Garniture);
console.log ('Votre facture est de: ' + Pain + Garniture + '$');

// et là, garniture prend le nom tapé dans prompt et non sa valeur pour le calcul

Merci
Hello

Utiliser la colorisation syntaxique la prochaine fois pour rendre le message plus lisible svp.

Maintenant, j'ai crée un fiddle avec le code fourni: https://jsfiddle.net/f3yn9c85/

Je comprends pas la valeur de la variable montant.


var montant = Pain + Garniture;


Pain contient une valeur de type Number (7) et Garniture récupère une valeur de type String (Legumes, sauce, riz) et on additionne les 2. Bizarre...
Merci
En fait c'est de trouver le moyen de récupérer la valeur de mon choix garniture que je cherche pour pouvoir effectuer mon calcul.
Il y a certaines choses que je ne comprends pas dans ce code.

La variable garniture est alimentée par le prompt et uniquement par le prompt. Il faut savoir que le prompt retourne une valeur de type "string" , une chaine de caractères, qu'il faut convertir en nombre, en utilisant une méthode comme "Number", "parseFloat" ou "parseInt" pour ensuite faire le calcul, sinon le moteur javascript va créer une chaine de caractères si les 2 types ne sont pas les mêmes.

J'ai le fiddle à jour: https://jsfiddle.net/hpsvg6ej/

Est-ce que c'est mieux ?
Merci beaucoup. Celui-ci donne un seul résultat: *** Veuillez entrer des informations valides *** peu importe la réponse. Je vais essayer une autre manière pour voir Smiley cligne
allan00958 a écrit :
Hello

Utiliser la colorisation syntaxique la prochaine fois pour rendre le message plus lisible svp.


Oué et un un "bonjour" "svp ça serait cool si vous m'aidez"... etc.. etc...
pelandrianasolo a écrit :
var Pain = 5;
var Legumes = 7;
var Riz = 8;
var Sauce = 4;
var Garniture;
var montant;
var TVA=7;

Garniture = (prompt('Entrez votre garniture (LEGUMES ou RIZ ou SAUCE)'));

var montant = Pain + Garniture;
var total = montant + (montant * TVA);

if (Garniture.toUpperCase() === 'LEGUMES') {
document.write ('Le montant est de ' + (Pain + Legumes) + '$');
}

else if (Garniture.toUpperCase() === 'RIZ') {
document.write ('Le montant est de ' + (Pain + Riz) + '$');
}

else if (Garniture.toUpperCase() === 'SAUCE') {
document.write ('Le montant est de ' + (Pain + Sauce) + '$');
}

else {
document.write ('Veuillez entrer des informations valides');
}

console.log ('FACTURE');
console.log ('Une grande pizza: ' + Pizza + '$');
console.log ('Plus ' + Garniture);
console.log ('Votre facture est de: ' + Pain + Garniture + '$');

// et là, garniture prend le nom tapé dans prompt et non sa valeur pour le calcul

Merci


de rien.
Bonjour et désolée, je viens de me rendre compte qu'effectivement j'étais à 100% dans mon problème.
Merci allan00958. J'ai essayé aussi la façon:
Garniture = (prompt('Entrez votre garniture (7 ou 8 ou 4)'));

Ça régle le problème de calcule mais la suite de
console.log ('Plus ' + Garniture);
ça donne PLUS 8 au lieu de PLUS RIZ.

Ce que vous avez fait fonctionne, mais ne tient pas compte des console.log Smiley confus
Merci encore
garniture = parseInt(prompt('Entrez votre garniture (LEGUMES ou RIZ ou SAUCE)'));

cette ligne est incorrect. Tu parsint un string... Smiley decu

et dans tout le reste du code tu additionne des int et des string.. donc à la fin y'a que des NaN (Not A Number)
Modifié par JENCAL (09 Dec 2019 - 15:56)
Re,

Au lieu de se focaliser sur les consoles log, il vaudrait mieux expliquer cette application, chose que vous n'avez jamais fait. Donnez du CONTEXTE. Quelles sont toutes les étapes de cette application. Les avez-vous marquez quelque part. De cette façon, je comprendrai mieux ce que ces console.log représente, au lieu d'essayer de deviner ce que vous cherchez à réaliser.

Si l'objectif est d'afficher la valeur choisie (légumes, riz ou sauce), ça peut se faire...