Où est l'erreur?

Résolu
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!

1 réponse

  1. Modérateur
    Je dirais que tes cases devraient plutôt être
    case 'A' :
    avec des apostrophes pour marquer la valeur.
    1. 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 ...
    2. Modérateur
      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...
    3. Je te remercie, ça fonctionne enfin ! Il semblerait que Javascript ne soit pas si permissif que je le pensais :-)