Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours visual basic » Exercices VB »

Articles similaires

  • Exercice Visual Basic : Utilisation des collections
  • Exercice Visual Basic : TP Banque
  • Exercice Visual Basic : Examen Passage 2007 TSDI P1 Variante 2
  • Exercice Visual Basic : Ligne Article
  • Exercice Visual Basic : Créditer & Débiter
  • Exercice Visual Basic : Voyage
  • Exercice Visual Basic : Horloge
  • Exercice Visual Basic : Manipuler un Texte
  • Exercice Visual Basic : Adhérant
  • Exercice Visual Basic : ListBox
  • Exercice Visual Basic : Classe Stagiaire
  • Exercice Visual Basic : Papillon Volante

Documents similaires

  • Document Visual Basic 6

  • Introduction au Visual Basic cours générale

  • Cours de programmation Visual Basic 6

  • Tutoriel pour apprendre l’impression sous Visual Basic

  • Programmation : Visual Basic 6

  • Cours générale de la Programmation structurée en Visual Basic

  • Cours de Visual Basic.Net

  • Outils de base pour apprendre la Programmation Visual basic

Exercice Visual Basic : Les Fichiers Séquentiels

Rédigé par GC Team, Publié le 06 Janvier 2012, Mise à jour le Samedi, 17 Décembre 2022 15:55
Participez au vote ☆☆☆☆☆★★★★★

Faire un programme en VB qui permet de Gérer les Notes des Stagiaires sur Fichiers Séquentiel :

Chaque stagiaire est connu par son:

  • Numéro
  • Nom
  • Prénom
  • Note1
  • Note2
  • Note3
  • Moyenne

A- Réaliser les Procédures suivantes :

1-      Ecriture des données de stagiaire dans un Fichier

2-      Lecture à partir d’un fichier

3-      Ajout d’un nouveau stagiaire

4-      Modification des données d’un stagiaire

5-      Suppression d'une ligne du tableau

6-      Recherche d'un étudiant

B– Ajouter un Menu de choix d’opérations pour l’utilisateur.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290

Imports System.io
Imports System.Text
Module Module1
    Public fichier1 As String = "fichier1.txt"
    Public fichier2 As String = "fichier2.txt"
    Public fichier3 As String = "fichier2.txt"
    Structure Etudiant
        Dim num As Integer
        Dim nom As String
        Dim prenom As String
        Dim note1, note2, note3, moy As Integer
    End Structure
    Public Sub Menu()
        Console.WriteLine("APPLICATION POUR GERER LES NOTES DES STAGIAIRES SUR FICHIERS ")
        Console.WriteLine(".................1.ECRITURE.............................")
        Console.WriteLine(".................2.LECTURE..............................")
        Console.WriteLine(".................3.ajout ...............................")
        Console.WriteLine(".................4.MODIFICATION ........................")
        Console.WriteLine(".................5.SUPPRESSION d'une ligne du tableau...")
        Console.WriteLine(".................6.RECHERCHE d'un etudiant..............")
        Console.WriteLine("--------------------------------------------------------")
    End Sub
    Sub Main()
        Dim REP As String
        Dim choix As Integer
        Do
            Menu()

            Console.WriteLine("Taper votre choix")
            choix = Console.ReadLine
            Select Case choix
                Case 1
                    ECRITURE(fichier1)
                Case 2
                    Console.WriteLine("")
                    Console.WriteLine("LE CONTENU DU fichier1")
                    LECTURE(fichier1)
                Case 3
                    ajouter(fichier1)
                Case 4
                    Dim numod As Integer
                    Console.WriteLine("saisir le numéro de l'etudiant à modifier ")
                    numod = Console.ReadLine
                    Modification(fichier1, fichier3, numod)
                Case 5
                    Dim numero As Integer
                    Console.WriteLine("Saisir le numéro de l'etudiant à supprimer ")
                    numero = Console.ReadLine
                    Suppression(fichier1, fichier2, numero)
                Case 6
                    Dim numrech As Integer
                    Console.WriteLine("saisir le numéro de l'etudiant à rechercher ")
                    numrech = Console.ReadLine
                    recherche(fichier1, fichier3, numrech)
                Case Else
                    Console.WriteLine("ce chois n'est pas traité ")
            End Select
            Console.WriteLine("voulez-vous continuez O/N ")
            REP = Console.ReadLine().ToUpper
        Loop While (REP.Equals("O"))

    End Sub
    Sub ECRITURE(ByVal fich As String)
        Dim nb As Integer
        Dim note1, note2, note3, moy As Integer
        Dim etud As Etudiant
        Dim sw As StreamWriter = File.AppendText(Path.GetFullPath(fich))
        Console.WriteLine("combien d'etudiants voulez vous saisir")
        nb = Console.ReadLine
        For i As Integer = 0 To nb - 1
            With etud
                Console.WriteLine("saisir le numéro de l'etudiant " & i + 1)
                .num = Console.ReadLine
                Console.WriteLine("saisir le nom de l'etudiant " & i + 1)
                .nom = Console.ReadLine
                Console.WriteLine("saisir le prénom de l'etudiant " & i + 1)
                .prenom = Console.ReadLine
                Console.WriteLine("saisir la note 1:")
                .note1 = Console.ReadLine
                Console.WriteLine("saisir la note 2:")
                .note2 = Console.ReadLine
                Console.WriteLine("saisir la note 3:")
                .note3 = Console.ReadLine
                .moy = (.note1 + .note2 + .note3) / 3
                ' sw.WriteLine(.num & "/" & .nom & "/" & .prenom & "/" & .note1 & "/" & .note2 & "/" & .note3 & "/" & .moy)
                sw.WriteLine("Numéro :" & "/" & .num & "/" & "Nom    : " & .nom & "/" & "Prénom : " & .prenom & "/" & "Note1  : " & .note1 & "/" & "Note2  : " & .note2 & "/" & "Note3  : " & .note3 & "/" & "Moyen  : " & .moy)
            End With
        Next
        sw.Flush()
        sw.Close()
    End Sub
    Public Function CompteNombreChamp(ByVal fich As String) As Integer
        Dim sR As StreamReader
        sR = File.OpenText(fich)
        Dim sM As String = sR.ReadLine
        Dim SLACH, I As Integer
        If sM = Nothing Then
            SLACH = 0
        Else
            For I = 1 To sM.Length
                If Mid(sM, I, 1) = "/" Then
                    SLACH = SLACH + 1
                End If
            Next
        End If
        sR.Close()
        Return SLACH
    End Function
    Public Function NombreEnreg(ByVal fich As String) As Integer
        Dim sR As StreamReader = File.OpenText(fich)
        Dim sM As String
        Dim M As Integer
        sM = sR.ReadLine
        Try
            Do
                M = M + 1
                sM = sR.ReadLine
            Loop Until sM Is Nothing
        Catch e As Exception
        End Try
        sR.Close()
        Return M
    End Function
    Public Sub LECTURE(ByVal fich As String)
        Dim n As Integer
        'Dim tst As String
        Dim sR As StreamReader = File.OpenText(fich)
        Dim sM As String = sR.ReadLine
        Dim t() As String
        Dim M As Integer
        M = NombreEnreg(fich)
        n = CompteNombreChamp(fich)
        'tst = Saisie(fich)
        If n = 0 Then
            Console.WriteLine()
            Console.WriteLine("*****Aucun enregistrement trouvé********")
            Console.WriteLine()
        Else
            Do
                t = sM.Split("/")
                Try
                    For j As Integer = 0 To n
                        Console.WriteLine(t(j) & vbTab)
                    Next

                Catch e As Exception
                End Try
                Console.WriteLine()
                sM = sR.ReadLine
            Loop Until sM Is Nothing
        End If
        sR.Close()
    End Sub
    Sub ajouter(ByVal fich As String)
        Dim etud As Etudiant
        Dim sw As StreamWriter = File.AppendText(Path.GetFullPath(fich))
        'Dim sr As StreamWriter = File.AppendText(Path.GetFullPath(fich1))
        With etud
            Console.WriteLine("saisir le numero de l'etudiant")
            .num = Console.ReadLine
            Console.WriteLine("saisir la nom de l'etudiant")
            .nom = Console.ReadLine
            Console.WriteLine("saisir la prenom de l'etudiant")
            .prenom = Console.ReadLine
            Console.WriteLine("saisir la note1 de l'etudiant")
            .note1 = Console.ReadLine
            Console.WriteLine("saisir la note2 de l'etudiant")
            .note2 = Console.ReadLine
            Console.WriteLine("saisir la note3 de l'etudiant")
            .note3 = Console.ReadLine
            .moy = .note1 + .note2 + .note3
            .moy = .moy / 3
            sw.WriteLine("Numéro :" & "/" & .num & "/" & "Nom    : " & .nom & "/" & "Prénom : " & .prenom & "/" & "Note1  : " & .note1 & "/" & "Note2  : " & .note2 & "/" & "Note3  : " & .note3 & "/" & "Moyen  : " & .moy)
        End With
        sw.Flush()
        sw.Close()
        'sr.Close()
    End Sub
    'On ouvre deux fichiers
    Public Sub Modification(ByVal fich As String, ByVal fich2 As String, ByVal numod As Integer)
        Dim sM As String
        Dim choix As Integer
        Dim t() As String
        Dim trouve As Boolean = False
        Dim sR As StreamReader = New StreamReader(Path.GetFileName(fich))
        Dim sW As StreamWriter = New StreamWriter(fich2)
        sM = sR.ReadLine 'on lit une ligne
        Do Until sM Is Nothing
            t = sM.Split("/")
            If numod = t(1) Then 'on compare le numéro à supprimer avec la case t(0)
                Console.WriteLine("************1.modifier le nom******")
                Console.WriteLine("************2.modifier le prénom***")
                Console.WriteLine("************3.modifier la note1****")
                Console.WriteLine("************4.modifier la note2****")
                Console.WriteLine("************5.modifier la note3****")
                Console.WriteLine()
                Console.WriteLine("entrez votre choix")
                choix = Console.ReadLine
                Select Case choix
                    Case 1
                        Console.WriteLine("entrez le nouveau nom")
                        t(2) = Console.ReadLine
                        sM = String.Join("/", t)
                    Case 2
                        Console.WriteLine("entrez le nouveau nom")
                        t(3) = Console.ReadLine
                        sM = String.Join("/", t)
                    Case 3
                        Console.WriteLine("entrez la nouvelle note 1")
                        t(4) = Console.ReadLine
                        sM = String.Join("/", t)
                    Case 4
                        Console.WriteLine("entrez la nouvelle note 2")
                        t(5) = Console.ReadLine
                        sM = String.Join("/", t)
                    Case 5
                        Console.WriteLine("entrez la nouvelle note 3")
                        t(6) = Console.ReadLine
                        sM = String.Join("/", t)
                End Select
                trouve = True
                sW.WriteLine(sM) ' sinon copie la ligne dans le nouveau fichier1
            End If
            sM = sR.ReadLine
            '  t.Clear(t, 0, t.GetUpperBound(0)) 'on supprime les element du tbleau
        Loop
        If trouve = False Then
            Console.WriteLine(" élément non trouvé ")
        End If
        sW.Close()
        sR.Close()
        File.Delete(fich)
        Rename(fich2, fich)
        File.Delete(fich2)
    End Sub
    'On ouvre deux fichiers
    Public Sub Suppression(ByVal fich As String, ByVal fich1 As String, ByVal numero As Integer)
        Dim sM As String
        Dim t() As String
        Dim trouve As Boolean = False
        Dim sR As StreamReader = New StreamReader(Path.GetFileName(fich))
        Dim sW As StreamWriter = New StreamWriter(fich1)
        sM = sR.ReadLine 'on lit une ligne
        Do Until sM Is Nothing
            t = sM.Split("/")
            If numero = t(1) Then 'on compare le numéro à supprimer avec la case t(0)
                'on ne copie pas la ligne dans le nouveau fichier1
                Console.WriteLine("Suppression avec succès")
                trouve = True
            Else : sW.WriteLine(sM) ' sinon copie la ligne dans le nouveau fichier1
            End If
            sM = sR.ReadLine
            t.Clear(t, 0, t.GetUpperBound(0)) 'on supprime les element du tbleau
        Loop
        If trouve = False Then
            Console.WriteLine(" élément non trouvé ")
        End If
        sW.Close()
        sR.Close()
        File.Delete(fich)
        Rename(fich1, fich)
        File.Delete(fich1)
    End Sub
    Sub recherche(ByVal fich As String, ByVal fich1 As String, ByVal numrech As Integer)
        Dim t() As String
        Dim trouve As Boolean = False
        Dim sM As StreamReader = File.OpenText(fich)
        Dim sw As StreamReader = File.OpenText(fich1)
        Dim sr As String = sM.ReadLine
        Dim a As String = sw.ReadLine
        Do Until sr Is Nothing
            t = sr.Split("/")
            If numrech = t(1) Then
                Console.Write(sr)
                Console.WriteLine(a)
                trouve = True
            End If
            sr = sM.ReadLine
            a = sw.ReadLine
        Loop
        If trouve = False Then
            Console.WriteLine("ce numero n'existe pas")
        End If
        sM.Close()
        sw.Close()
    End Sub


End Module
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02