Les tableau en vb.net besoin d aide

Fermé
twix2010 Messages postés 13 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 21 décembre 2011 - 23 mars 2011 à 15:55
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 23 mars 2011 à 18:06
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

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 23/03/2011 à 16:33
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
twix2010 Messages postés 13 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 21 décembre 2011
23 mars 2011 à 16:50
merci bcoup pour ton Coup d'Main
mais je demande ou je px maittre ça don le modul ou la classe ?
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 23/03/2011 à 16:54
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
twix2010 Messages postés 13 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 21 décembre 2011
23 mars 2011 à 16:58
merci encore
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 23/03/2011 à 17:15
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
twix2010 Messages postés 13 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 21 décembre 2011
23 mars 2011 à 17:16
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
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
23 mars 2011 à 18:06
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