Les tableaux 2D (exercice)
kingston2
Messages postés
126
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, J'ai un exercice à finir , mais je suis bloqué.... Voici l'exercice en question:
Une entreprise commerciale décide de récompenser ses clients potentiels à la fin de chaque année. À cet effet, les gestionnaires ont créé un système de ristourne selon le montant d'achat mensuel de chaque client. Ce dernier se calcule selon le tableau suivant :
Montant d'achat mensuel Le taux de la ristourne
Montant <= 500 0 %
500<Montant <= 1000 5 %
Montant > 1000 10 %
Écrivez le programme Visual Basic qui calcule et affiche le montant total du ristourne pour chacun des 10 clients de l'établissement.
Voici mon travail jusqu'à maintenant:
Pouvez-vous m'aider à finir ce problème ? Merci
Une entreprise commerciale décide de récompenser ses clients potentiels à la fin de chaque année. À cet effet, les gestionnaires ont créé un système de ristourne selon le montant d'achat mensuel de chaque client. Ce dernier se calcule selon le tableau suivant :
Montant d'achat mensuel Le taux de la ristourne
Montant <= 500 0 %
500<Montant <= 1000 5 %
Montant > 1000 10 %
Écrivez le programme Visual Basic qui calcule et affiche le montant total du ristourne pour chacun des 10 clients de l'établissement.
Voici mon travail jusqu'à maintenant:
Module Module1 Sub Main() Dim tabvaleurs(10, 3) Dim intmontant As Integer Dim inttaux As Integer 'remplissage du tableau For ligne = 0 To 10 For colonne = 0 To 3 tabvaleurs(ligne, colonne) = InputBox("Entrez votre montant d'achat:") Next Next 'affichage du tableau For ligne = 0 To 10 For colonne = 0 To 3 Console.Write(tabvaleurs(ligne, colonne) & vbTab) Next 'attribution des ristournes For Each valeur In tabvaleurs If valeur >= 1000 Then inttaux = 0.1 ElseIf valeur >= 500 Then inttaux = 0.05 Else inttaux = 0 End If Console.WriteLine("le montant de ristourne est de:" & intmontant * inttaux) Next Next End Sub End Module
Pouvez-vous m'aider à finir ce problème ? Merci
A voir également:
- Les tableaux 2D (exercice)
- Logiciel plan 2d gratuit - Télécharger - Architecture & Déco
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- 34 2d 3f 3d 31 - Guide
- Les tableaux word - Guide
3 réponses
Salut,
A première vue, je vois plusieurs "erreurs".
1- On parle de chaque année, avec une remise mensuelle. Il te faut donc les montants de chacun des 10 clients pour chaque mois...
Donc, remplace :
par :
2- Tu dois trouver le montant total de la remise. Il te faut donc additionner les remises mensuelles. Dans ton code, je ne vois pas du tout d'addition...
3- Je t'ai déjà parlé de Randomize qui te permet de trouver des nombres aléatoirement plutôt que de les saisir. Utilise le car sinon tu va avoir 120 saisies à réaliser en début de code...
Exemple : pour obtenir un nombre compris entre 1 et 1500 :
Fais déjà cela, et reviens avec ton code...
A première vue, je vois plusieurs "erreurs".
1- On parle de chaque année, avec une remise mensuelle. Il te faut donc les montants de chacun des 10 clients pour chaque mois...
Donc, remplace :
Dim tabvaleurs(10, 3)
par :
Dim tabvaleurs(10, 12)
2- Tu dois trouver le montant total de la remise. Il te faut donc additionner les remises mensuelles. Dans ton code, je ne vois pas du tout d'addition...
3- Je t'ai déjà parlé de Randomize qui te permet de trouver des nombres aléatoirement plutôt que de les saisir. Utilise le car sinon tu va avoir 120 saisies à réaliser en début de code...
Exemple : pour obtenir un nombre compris entre 1 et 1500 :
Dim maval As Integer Randomize maval = Int(Rnd * 1500) + 1
Fais déjà cela, et reviens avec ton code...
Voici ce que j'ai :
Module Module1 Sub Main() Dim tabvaleurs(10, 12) Dim intmontant As Integer Dim inttaux As Integer Dim intmontanttotal As Integer Dim maval As Integer 'remplissage du tableau For ligne = 0 To 10 For colonne = 0 To 12 Randomize() maval = Int(Rnd() * 15000) + 1 Next Next 'affichage du tableau For ligne = 0 To 10 For colonne = 0 To 3 Console.Write(tabvaleurs(ligne, colonne) & vbTab) Next 'attribution des ristournes For Each valeur In tabvaleurs If valeur >= 1000 Then inttaux = 0.1 ElseIf valeur >= 500 Then inttaux = 0.05 Else inttaux = 0 End If Console.WriteLine("le montant de ristourne est de:" & intmontant * inttaux) Next 'montant totale de la remise intmontanttotal = intmontant + (intmontant * inttaux) Console.WriteLine("le montant totale de la remise est de:" & intmontanttotal) Next End Sub End Module
Bonjour,
Je ne suis pas sur que tu fasses tous les efforts nécessaires à la réalisation de ce code. J'ai le sentiment que tu attends la réponse...
J'en veut pour preuve que tu n'as même pas fait l'effort de remplacer tous les 3 par des 12 :
De plus, dans le remplissage du tableau,... tu ne remplis même pas ta variable tableau :
Pour ma part, si tu ne fais pas plus d'effort, j'arrête le suivi de tes discussions;..
Je ne suis pas sur que tu fasses tous les efforts nécessaires à la réalisation de ce code. J'ai le sentiment que tu attends la réponse...
J'en veut pour preuve que tu n'as même pas fait l'effort de remplacer tous les 3 par des 12 :
'affichage du tableau
For ligne = 0 To 10
For colonne = 0 To 3
De plus, dans le remplissage du tableau,... tu ne remplis même pas ta variable tableau :
'remplissage du tableau
For ligne = 0 To 10
For colonne = 0 To 12
Randomize()
maval = Int(Rnd() * 15000) + 1
Next
Next
Pour ma part, si tu ne fais pas plus d'effort, j'arrête le suivi de tes discussions;..