Où est l'erreur?
Résolu
FishEyes
-
FishEyes -
FishEyes -
Bonsoir, Je suis actuellement un cours d'initiation à la programmation et je fais des exercices chez moi pour m'entraîner.
L'un de ces exercices me demande de créer un programme capable de calculer le montant à payer pour 1 ou plusieurs livres achetés dans une collection A, B ou C, en sachant que des remises de 5% sont accordées selon la quantité de livres achetés pour une collection. On suppose que dans une collection donnée, tous les livres ont le même prix.
Voici donc ce que j'obtiens :
<script langage="javascript">
var Collect;
var Quant;
var Prix;
var montant=Quant*Prix;
var Collect=parseInt(prompt("Quelle collection?"));
var Quant=parseInt(prompt("Encoder la quantité"));
var Prix=parseInt(prompt("Encoder le prix"));
switch(Collect)
{
case A:
if(Quant >=5)
{
montant=montant*0.95;
}break;
case B:
if(Quant >=3)
{
montant=montant*0.95;
}break;
case C:
if(Quant >=2)
{
montant=montant*0.95;
}break;
}
document.write(montant);
</script>
J'ai voulu utiliser la fonction switch.case, mais visiblement, ça ne fonctionne pas. Quelqu'un saurait-il m'expliquer pourquoi, s'il vous plait? Merci d'avance!
L'un de ces exercices me demande de créer un programme capable de calculer le montant à payer pour 1 ou plusieurs livres achetés dans une collection A, B ou C, en sachant que des remises de 5% sont accordées selon la quantité de livres achetés pour une collection. On suppose que dans une collection donnée, tous les livres ont le même prix.
Voici donc ce que j'obtiens :
<script langage="javascript">
var Collect;
var Quant;
var Prix;
var montant=Quant*Prix;
var Collect=parseInt(prompt("Quelle collection?"));
var Quant=parseInt(prompt("Encoder la quantité"));
var Prix=parseInt(prompt("Encoder le prix"));
switch(Collect)
{
case A:
if(Quant >=5)
{
montant=montant*0.95;
}break;
case B:
if(Quant >=3)
{
montant=montant*0.95;
}break;
case C:
if(Quant >=2)
{
montant=montant*0.95;
}break;
}
document.write(montant);
</script>
J'ai voulu utiliser la fonction switch.case, mais visiblement, ça ne fonctionne pas. Quelqu'un saurait-il m'expliquer pourquoi, s'il vous plait? Merci d'avance!
A voir également:
- Où est l'erreur?
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
1 réponse
Je dirais que tes cases devraient plutôt être
case 'A' :avec des apostrophes pour marquer la valeur.
FishEyes
Merci pour ta réponse, c'est déjà mieux dans le sens ou il m'affiche désormais NaN, alors qu'avant il ne m'affichait rien d'autre. Maintenant reste à comprendre pourquoi il m'affiche NaN ...
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
NaN ça veut dire Not a Number. Le problème c'est que tu calcules "montant" avant d'avoir saisi les valeurs Quant et Prix...
FishEyes
Je te remercie, ça fonctionne enfin ! Il semblerait que Javascript ne soit pas si permissif que je le pensais :-)