Stocker une liste d'affichage dans un tableau

Résolu
heiven Messages postés 21 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 8 février 2011 - 13 mai 2008 à 18:35
heiven Messages postés 21 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 8 février 2011 - 14 mai 2008 à 12:13
bonjour a tous le monde je suis un nouvel inscri dans se forum et j'éspére trouvé de aide içi de gens sympa voila mon problém

j'essaie d'excuté un programme de caisse qui lit un article et affiche le prix et la quantité et calcule le montant et le total des article pour a la fin calculte la tva et le prix TTC mais mon problem c'est que quand j'entre bc d'aricle dans affichage il m'afiche just le dérnier les premier s'crase mais leur montant se calcule je sais que je dois les stokcer dans un tablea mais je sais pas comment faire donc s'il a quelqu'un qui peux m'aider je serais vrm ravie je travaille en mode console pour info voila le code que j'utulise

Module Module1
Structure caisse
Dim article As String
Dim qte As Integer
Dim prix As Double
Dim MT As Double
End Structure
 
Sub Main()
Dim a As caisse
Dim total As Double = 0
Dim TTC As Double = 0
Dim t(100) As caisse
Dim rep As String = "oui"
Dim i As Integer = 1
While rep = "oui"
Console.WriteLine("donner le nom de l'article" & i)
a.article = Console.ReadLine
Console.WriteLine("donner la quantité")
a.qte = Console.ReadLine
Console.WriteLine("donner le prix")
a.prix = Console.ReadLine
a.MT = a.prix * a.qte
Console.WriteLine("le mantant total et:" & a.MT)
Console.WriteLine("voulais vous choisir un autre article ? oui /non")
rep = Console.ReadLine
total = total + a.MT
t(i) = a
i = i + 1
End While
Console.WriteLine("________________________________")
Console.WriteLine("article qte prix montnat")
Console.WriteLine("________________________________")
Dim x As String = (a.article & " ").Substring(0, 10)
Dim b As String = (a.qte & " ").Substring(0, 8)
Dim c As String = (a.prix & " ").Substring(0, 8)
Dim d As String = (a.MT & " ").Substring(0, 8)
Console.WriteLine(x & b & c & d)
Console.WriteLine("________________________________")
Console.WriteLine("PRIX TOTAL:" & total)
Dim TVA As Double = total * 0.2
Console.WriteLine("TVA:" & TVA)
TTC = total + TVA
Console.WriteLine("PRIX TTC:" & TTC)
 
 
 
 
Console.ReadKey()
End Sub
End Module

4 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
14 mai 2008 à 08:06
Salut,
Effectivement c'est tout de même plus clair quand c'est mieux écrit.

En fait c'est tout à fait normal que le programme n'affiche que le dernier puisque tu affiches a.article, alors que tu devrais boucler sur le contenu de t(), c'est lui qui memorise les articles.

Adaptes ceci à tes besoins.

Module Module1
   Structure caisse
       Dim article As String
       Dim qte As Integer
       Dim prix As Double
       Dim MT As Double
   End Structure

   Sub Main()
       Dim a As caisse
       Dim total As Double = 0
       Dim TTC As Double = 0
       Dim t(100) As caisse 'pense que ce tableau est en base 0
       Dim rep As String = "oui"
       Dim i As Integer = 0       While rep.ToUpper "O" Or rep.ToUpper "OUI"
           Console.WriteLine ("donner le nom de l'article " & i + 1)
           a.article = Console.ReadLine
           Console.WriteLine ("donner la quantité")
           a.qte = Console.ReadLine
           Console.WriteLine ("donner le prix")
           a.prix = Console.ReadLine
           a.MT = a.prix * a.qte
           Console.WriteLine ("le mantant total et:" & a.MT)
           Console.WriteLine ("voulais vous choisir un autre article ? oui /non")
           rep = Console.ReadLine
           total += a.MT
           t(i) = a
           i += 1
       End While
       Console.WriteLine ("________________________________")
       Console.WriteLine ("article qte prix montnat")
       Console.WriteLine ("________________________________")
       For Each a In t
           With a
               If .article <> String.Empty Then
                   Console.WriteLine (.article & " " & .qte & " " & .prix & " " & .MT)
               Else
                   Exit For
               End If
           End With
       Next
       Console.WriteLine ("________________________________")
       Console.WriteLine ("PRIX TOTAL:" & total)
       Dim TVA As Double = total * 0.2
       Console.WriteLine ("TVA:" & TVA)
       TTC = total + TVA
       Console.WriteLine ("PRIX TTC:" & TTC)

       Console.ReadKey()
   End Sub<hr />End Module
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 mai 2008 à 22:02
Bonjour,
Et bienvenu....

Merci de te relire avant de poster une question...
Nous ne comprenons RIEN à ce que tu souhaites faire, et encore moins quel est le problème.
Ton clavier possède plein de touches. essaies de toutes les utiliser et de ne pas oublier de lettres... et de ne pas utiliser non plus le langage SMS.

d'avance merci de reposer CLAIREMENT ta question.

@+: Ju£i?n
Pensez: Réponse acceptée
0
heiven Messages postés 21 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 8 février 2011
13 mai 2008 à 22:38
bonjour je vais essayer d'expliquer plus clairement


je voudrais simuler le fonctioennement simplifier d'une caisse


donc je veux exécuté un programme qui permet de lire une liste d'achat , prix unitaire ,quantité de chaque article
le monant de l'achat pour chaque article
le montnat total de ensemble des achat
la tva et le net a payer

donc j'ai ecrit le code que j'ai utiliser toute a heure  et tous marche bien a par l'affichage car le programme m'affiche le net a payer et le tva de tous les article mais il m'affiche seulement le dérnier article que j'ai saisie j'ai une idée c'est de stocker dans un tableau mais je sais pas qui ce que je dois stocker et comment faire donc si vous avais une idée aider moi mes salutation et merçi d'avance
0
heiven Messages postés 21 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 8 février 2011
14 mai 2008 à 12:13
merçi boucoup pour votre aide ca marche bien  bon journée
0
Rejoignez-nous