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 upes 1025 - Forum Téléviseurs
- Une erreur est survenue instagram ✓ - Forum Instagram
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
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
19031
Statut
Modérateur
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 :-)