Problème de programmation

Fermé
BlobFish - 12 oct. 2013 à 13:08
BunoCS Messages postés 15498 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 7 janvier 2025 - 12 oct. 2013 à 20:03
Bonjour, je suis en 1ère année d'études de Web-developpeur et je viens de commencer le cours d'initiation à la programmation. J'ai reçu une feuille d'exercices pour m'entrainer chez moi et parmi ces exercices ce trouve le suivant que je ne parviens pas à résoudre :

'En fin d'année, une banque decide d'offrir un cadeau à certains de ses clients";

J'ai un tableau avec quatre catégories : A; B;C; D.
Chaque catégorie correspond à une tranche d'age : A: 20-30, B: 30-40, C: 40-50, D: 50+.

A chaque tranche d'age correspond un barême : A: Solde >= 3000 €, B: Solde >= 5000€, C: Solde >= 7000€, D: Solde >=9000€.

Je dois créer un programme capable de demander à l'utilisateur de spécifier la catégorie du client et le solde de son compte, puis de délivrer un message indiquant si le client aura droit à un cadeau sur base de ces informations.

J'ai, en l'état actuel, quatre variables :

var Categorie;
var Solde;
var message1;
var message2;

... Après ça, je cale.

Auriez-vous des pistes à me donner?



A voir également:

5 réponses

BunoCS Messages postés 15498 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 7 janvier 2025 3 913
12 oct. 2013 à 13:34
Hello,

Tu as d'abord 2 demandes de saisie de données:
- demande à l'utilisateur de saisir sa catégorie
- demande à l'utilisateur de saisir son solde

Ensuite 2 petits tests pour:
- savoir dans quelle catégorie il se trouve (comparaison avec la valeur saisie au-dessus)
- en fonction de cette catégorie, une comparaison de solde

Pour te répondre plus précisément, merci d'indiquer le langage que tu utilises.

A noter que nous ne ferons pas ton exercice à ta place ;)
0
Bonjour BrunoCS et merci pour ta réponse. En fait j'apprends avec Javascript, que je découvre en même temps j'apprends les concepts de la programmation .
Bien entendu, je n'attends pas que l'on me serve cet exercice sur un plateau, ce serait trop facile :-).
0
BunoCS Messages postés 15498 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 7 janvier 2025 3 913
12 oct. 2013 à 17:16
OK.
Du coup, j'imagine que tu as une page html avec 2 champs texte (pour la saisie), un bouton pour valider (et lancer la comparaison) et, soit un label soit une popup pour le résultat.

Dis-nous si tu bloques
0
Nouveau blocage :

<script langage="javascript">
var Categorie;
var Solde;
var message1="Le client à droit à un cadeau";
var message2="Le client n'a pas droit à un cadeau";

Categorie=prompt("Encoder Categorie");
Solde=parseInt(prompt("Encodez Solde");

// Comment effectuer le test pour les quatre catégories et les quatre soldes avec un seul "if"?

Ici, je suppose que je dois utiliser la structure "if", mais je ne peux le faire qu'une seule fois (J'avais oublié ce détail de l'énoncé) ... blocage.
0
BunoCS Messages postés 15498 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 7 janvier 2025 3 913
12 oct. 2013 à 18:42
Un seul if? Ok, pas de souci. Utilise l'instruction switch..case pour déterminer la catégorie
0
Merci beaucoup, switch.case me facilite bien la vie. Voici ce que j' obtiens :
script langage="javascript">
var Categorie;
var Solde;
var message1="Le client à droit à un cadeau";
var message2="Le client n'a pas droit à un cadeau";

Categorie=prompt("Encoder Categorie");
Solde=parseInt(prompt("Encodez Solde");

switch (Categorie) {
case A:
(Solde>=3000) ' alert(message1); : alert(message2);
break;
case B:
//liste d'instructions
break;
case C:
//liste d'instructions
break;
case D:
//liste d'instructions
break;
default:
alert(message2);
break;
}
</script>

Le programme est incomplet mais devait fonctionner, pourtant le navigateur m'affiche une page blanche ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15498 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 7 janvier 2025 3 913
12 oct. 2013 à 20:03
Le programme est incomplet mais devait fonctionner
C'est ce que l'on dit tous =)

Tu as des erreurs de syntaxe dans ton code
Solde=parseInt(prompt("Encodez Solde"));
-> manque une parenthèse fermante

Ensuite, pour la catégorie, tu veux comparer des chaines de caractères. Il faut donc mettre des guillemets.

Enfin, le if de ton case "A" est mal formatté.

Correction:

switch (Categorie) {
case "A":
if (Solde>=3000)
alert(message1);
else
alert(message2);
break;

Tu fais la même chose pour les autres cas et ça devrait être bon.

Remarque: a est différent de A
Soit tu teste en transformant
Categorie
en majuscule
switch(Categorie.toUpperCase())
Soit tu doubles tes cases

case "A":
case "a":
...
break;
--
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0