Les tableau en vb.net besoin d aide

twix2010 Messages postés 16 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
Je suis nouveau sur le forum et j'aimerais avoir de l'aide sur un problème que je n'arrive pas à résoudre.

j aimerai afficher tous notes des stagiaire
le problème que je ne sais pas travailler avec les tableau
pour que je puise afficher tous lé notes

Merci D'avance

Public Class stagiaire
Private _Nom As String
Private _Note1, _Note2, _Note3 As Double
Dim res As Double

Public Property nom() As String
Get
Return Me._Nom
End Get
Set(ByVal value As String)
Me._Nom = value
End Set
End Property

Public Property Note1() As Double
Get
Return Me._Note1
End Get
Set(ByVal value As Double)
Me._Note1 = value
End Set
End Property
Public Property Note2() As Double
Get
Return Me._Note2
End Get
Set(ByVal value As Double)
Me._Note2 = value
End Set
End Property
Public Property Note3() As Double
Get
Return Me._Note3
End Get
Set(ByVal value As Double)
Me._Note3 = value
End Set
End Property
Public Sub New()

End Sub
Public Sub New(ByVal n As String, ByVal n1 As Double, ByVal n2 As Double, ByVal n3 As Double)
Me._Nom = n
Me._Note1 = n1
Me._Note2 = n2
Me._Note3 = n3
End Sub
Public Sub calcul()
Dim n As Integer
Console.Write("combien des notes veux-tu saisir ? : ")
n = Console.ReadLine
For i = 1 To n
Console.Write("entrez le nom : ")
nom = Console.ReadLine
Console.Write("entrez la note 1 : ")
Note1 = Console.ReadLine
Console.Write("entrez la note 2 : ")
Note2 = Console.ReadLine
Console.Write("entrez la note 3 : ")
Note3 = Console.ReadLine
res = ((Note1 + Note2 + Note3) / 3)
Next i
End Sub

Public Sub affichage()
Console.Out.WriteLine("la resultat est :" & res)

End Sub

End Class

Module Module1

Sub Main()
Dim s As New stagaire
Dim choix As Integer

Console.WriteLine("==========MeNu==========")
Console.WriteLine()
Console.WriteLine(" I entrer les notes")
Console.WriteLine(" II la liste des moyennes")
Console.WriteLine(" III quitter")
Console.WriteLine()
Console.WriteLine("========================")
Do

Console.WriteLine()
Console.Write("entrer votre choix : ")
choix = Console.ReadLine
Console.WriteLine()
Select Case (choix)

Case 1

s.calcul()

Case 2
s.affichage()

End Select
Loop While (choix <> 3)

End Sub

End Module

3 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Je n'ai pas "décoder" tout ton code mais peut-être avec une structure ?
        Public Structure ERG1  
            Public Nom As String  
            Public Note1 As Double  
            Public Note2 As Double  
            Public Note3 As Double  
        End Structure  
        Public Stagiaire() As ERG1  
        Sub TT()  
            Dim N As String  
            ReDim Stagiaire(10)  
    'Remplir le tableau.  
            Stagiaire(1).Nom = "Le Nom"  
    'Sortir du tableau  
            N = Stagiaire(1).Nom  
        End Sub

    A+
    PS : Obliger de mettre des doubles pour les Notes ? je pense qu'un Integer ou Int32 devrait largement suffire !
    Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
    1. twix2010 Messages postés 16 Statut Membre
       
      merci bcoup pour ton Coup d'Main
      mais je demande ou je px maittre ça don le modul ou la classe ?
      0
    2. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Dans le module pour la structure,
      N'importe où pour le reste.
      Mais comme ta classe est faite, elle ne renverra qu'un nom à la fois.
      Pourquoi une classe pour ça ?
      0
    3. twix2010 Messages postés 16 Statut Membre
       
      merci encore
      0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Un exemple ?
    Module Module1  
        Public Structure ERG1  
            Public Nom As String  
            Public Note1 As Int32  
            Public Note2 As Int32  
            Public Note3 As Int32  
            Public Moyenne As Int32  
        End Structure  
    
        Public Stagiaire() As ERG1  
    
        Sub Main()  
            Dim n As Int32 = 2  
            ReDim Stagiaire(n)  
            For i = 1 To n  
                Console.Write("entrez le nom : ")  
                Stagiaire(i).Nom = Console.ReadLine  
                Console.Write("entrez la note 1 : ")  
                Stagiaire(i).Note1 = Console.ReadLine  
                Console.Write("entrez la note 2 : ")  
                Stagiaire(i).Note2 = Console.ReadLine  
                Console.Write("entrez la note 3 : ")  
                Stagiaire(i).Note3 = Console.ReadLine  
                Stagiaire(i).Moyenne = ((Stagiaire(i).Note1 + Stagiaire(i).Note2 + Stagiaire(i).Note3) / 3)  
            Next i  
        End Sub  
    
    End Module

    Si besoin...
    A toi de voir pour les mémoriser dans un fichier, ensuite faire l'opération inverse pour la lecture des données.

    Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
    1. twix2010 Messages postés 16 Statut Membre
       
      voilla c fé thx for your help



      Module Module1
      Public Structure ERG1
      Public Nom As String
      Public Note1 As Int32
      Public Note2 As Int32
      Public Note3 As Int32
      Public Moyenne As Int32
      End Structure

      Public Stagiaire() As ERG1

      Sub Main()
      Dim n As Int32 = 2
      ReDim Stagiaire(2)
      Dim choix As Integer


      Console.WriteLine("==========MeNu==========")
      Console.WriteLine()
      Console.WriteLine(" I saisie des notes")
      Console.WriteLine(" II la liste des moyennes")
      Console.WriteLine(" III quitter")
      Console.WriteLine()
      Console.WriteLine("========================")
      Do

      Console.WriteLine()
      Console.Write("entrer votre choix : ")
      choix = Console.ReadLine
      Console.WriteLine()
      Select (choix)

      Case 1
      Console.Write("combien des notes veux-tu saisir ? : ")
      n = Console.ReadLine
      For i = 1 To n
      Console.Write("entrez le nom : ")
      Stagiaire(i).Nom = Console.ReadLine
      Console.Write("entrez la note 1 : ")
      Stagiaire(i).Note1 = Console.ReadLine
      Console.Write("entrez la note 2 : ")
      Stagiaire(i).Note2 = Console.ReadLine
      Console.Write("entrez la note 3 : ")
      Stagiaire(i).Note3 = Console.ReadLine
      Stagiaire(i).Moyenne = ((Stagiaire(i).Note1 + Stagiaire(i).Note2 + Stagiaire(i).Note3) / 3)
      Next i
      Case 2
      For i = 1 To n
      Console.WriteLine(Stagiaire(i).Moyenne)
      Next i

      End Select
      Loop While (choix <> 3)


      End Sub

      End Module
      0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    ReDim Stagiaire(2) 
    pas à la bonne place et pas bien dimensionner...
    Case 1
        Console.Write("combien des notes veux-tu saisir ? : ")
        n = Console.ReadLine 
        ReDim Stagiaire(n)
        '.......

    A+
    0