Exercice VB: Tableau à deux dimensions

Ecrire le code VB qui permet de :

1-      Créer un tableau qui conteint les Informations des Etudients

2-      Trier le Tableau

3-      Affichage du contenu de tableau

4-      Ajouter un nouveau Etudiant au tableau

5-      Supprimer un Etudiant existant dans le Tableau

6-      La Recherche d’un Etudiant

7-      Ajouter une Case au Tableau qui contient la décision selon la Moyenne Générale : si la moyenne >= 10 alors l'étudiant est Admis si non il est Eliminé

8-      Un Menu de Choix

Pour vous aider on doit remplire le Tableau comme suit:

La Première case du tableau contient le numéro de l’étudiant

La Deuxième case du tableau contient le nom de l’étudiant

La Troisième case du tableau contient le Prénom de l’étudiant

La Quatrième case du tableau contient la 1er note de l’étudiant

La Cinquième case du tableau contient la 2ème note de l’étudiant

La Sixième case du tableau contient la 3ème note de l’étudiant

La Septième case du tableau contient la Moyenne générale de l’étudiant 

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170Module Module1 Dim tab(,) As String Dim nb As Integer Public Sub Menu() Console.WriteLine(".*..*..*.APPLICATIONS POUR LES TABLEAUX A 2 DIMENSIONS.*..*..*.") Console.WriteLine(".*.1.Créer le Tableau.*.") Console.WriteLine(".*.2.Trier le Tableau.*.") Console.WriteLine(".*.3.Afficher le Tableau.*.") Console.WriteLine(".*.4.Ajouter dans le Tableau.*.") Console.WriteLine(".*.5.Supprimer du Tableau.*.") Console.WriteLine(".*.6.Rechercher dans le Tableau.*.") Console.WriteLine(".*.7.Classement et Décisions.*.") End Sub Sub Main() Dim rep As String Do Menu() Dim choix As Integer Console.WriteLine("Taper votre choix") choix = Console.ReadLine Select Case choix Case 1 Console.WriteLine("saisir la dimension de votre tableau") nb = Console.ReadLine() ReDim tab(nb, 8) tab = Saisie() Case 2 tab = Tri(tab) Case 3 Affichage(tab) Case 4 tab = Ajout(tab) Case 5 Dim numsupp As Integer Console.WriteLine("saisir le numero de l'etudiant à supprimer") numsupp = Console.ReadLine tab = Suppression(tab, numsupp) Case 6 Dim numRech As Integer Console.WriteLine("saisir le numero de l'etudiant à rechercher") numRech = Console.ReadLine AfficheRecherche(tab, numRech) Case 7 tab = Classement(tab) Case Else Console.WriteLine("ce choix n'est pas traité") End Select Console.WriteLine("Voulez vous continuez O/N ") rep = Console.ReadLine().ToUpper Loop While (rep.Equals("O")) End Sub Public Function Saisie() As String(,) For i As Integer = 0 To tab.GetUpperBound(0) - 1 'on arrête la saisie avant la derniere ligne Console.WriteLine("saisir le numero de l'etudiant " & i + 1) tab(i, 0) = Console.ReadLine Console.WriteLine("saisir le nom de l'etudiant " & i + 1) tab(i, 1) = Console.ReadLine() Console.WriteLine("saisir le prenom de l'etudiant " & i + 1) tab(i, 2) = Console.ReadLine() Console.WriteLine("saisir la note 1 de l'etudiant " & i + 1) tab(i, 3) = Console.ReadLine() Console.WriteLine("saisir la note 2 de l'etudiant " & i + 1) tab(i, 4) = Console.ReadLine() Console.WriteLine("saisir la note 3 de l'etudiant " & i + 1) tab(i, 5) = Console.ReadLine() tab(i, 6) = ((Double.Parse(tab(i, 3)) + Double.Parse(tab(i, 4)) + Double.Parse(tab(i, 5))) / 3).ToString Next Return tab End Function Public Sub Affichage(ByRef t(,) As String) For i As Integer = 0 To t.GetUpperBound(0) - 1 'on n'affiche pas la derniere ligne For j As Integer = 0 To t.GetUpperBound(1) Console.Write(t(i, j) & " ") Next Console.WriteLine("") Console.WriteLine("") Next End Sub Public Function Tri(ByRef t(,) As String) As String(,) For i As Integer = 0 To t.GetUpperBound(0) - 1 For j As Integer = i + 1 To t.GetUpperBound(0) If CType(t(i, 6), Double) CType(t(j, 6), Double) Then For k As Integer = 0 To t.GetUpperBound(1) t(t.GetUpperBound(0), k) = t(i, k) t(i, k) = t(j, k) t(j, k) = t(t.GetUpperBound(0), k) Next End If Next Next Return t End Function Public Function Ajout(ByRef t(,) As String) As String(,) Dim t1(t.GetUpperBound(0) + 1, 8) As String For i As Integer = 0 To t.GetUpperBound(0) - 1 For j As Integer = 0 To t.GetUpperBound(1) t1(i, j) = t(i, j) Next Next Console.WriteLine("saisir le numero de l'etudiant à ajouter ") t1(t1.GetUpperBound(0) - 1, 0) = Console.ReadLine Console.WriteLine("saisir le nom de l'etudiant à ajouter ") t1(t1.GetUpperBound(0) - 1, 1) = Console.ReadLine() Console.WriteLine("saisir le prenom de l'etudiant à ajouter ") t1(t1.GetUpperBound(0) - 1, 2) = Console.ReadLine() Console.WriteLine("saisir la note 1 de l'etudiant à ajouter ") t1(t1.GetUpperBound(0) - 1, 3) = Console.ReadLine() Console.WriteLine("saisir la note 2 de l'etudiant à ajouter ") t1(t1.GetUpperBound(0) - 1, 4) = Console.ReadLine() Console.WriteLine("saisir la note 3 de l'etudiant à ajouter ") t1(t1.GetUpperBound(0) - 1, 5) = Console.ReadLine() t1(t1.GetUpperBound(0) - 1, 6) = ((Double.Parse(t1(t1.GetUpperBound(0) - 1, 3)) + Double.Parse(t1(t1.GetUpperBound(0) - 1, 4)) + Double.Parse(t1(t1.GetUpperBound(0) - 1, 5))) / 3).ToString Return t1 End Function Public Function Suppression(ByRef t(,) As String, ByVal element As Integer) As String(,) Dim pos As Integer = Recherche(t, element) Dim t1(t.GetUpperBound(0) - 1, 8) As String If pos -1 Then For i As Integer = 0 To t.GetUpperBound(0) - 1 For j As Integer = 0 To t.GetUpperBound(1) If t(i, 0) element Then t1(i, j) = t(i, j) Else : t1(i, j) = t(i + 1, j) End If Next Next End If Return t1 End Function Public Function Recherche(ByRef t(,) As String, ByVal element As Integer) As Integer Dim pos As Integer = -1 For i As Integer = 0 To t.GetUpperBound(0) If t(i, 0) = element Then pos = i End If Next Return pos End Function Public Sub AfficheRecherche(ByRef t(,) As String, ByVal element As Integer) Dim pos As Integer = Recherche(t, element) If pos -1 Then For i As Integer = 0 To t.GetUpperBound(1) Console.Write(t(pos, i) & " ") Next Console.WriteLine() Else Console.WriteLine("l'element recherché n'existe pas") End If End Sub Public Function Classement(ByVal t(,) As String) As String(,) t(0, 7) = CType(1, String) For i As Integer = 1 To t.GetUpperBound(0) - 1 If Double.Parse(t(i - 1, 6)) = Double.Parse(t(i, 6)) Then t(i, 7) = t(i - 1, 7) Else : t(i, 7) = CType(i + 1, String) End If Next For i As Integer = 0 To t.GetUpperBound(0) - 1 If Double.Parse(t(i, 6)) >= 10 Then t(i, 8) = "Admis" Else : t(i, 8) = "Eliminé" End If Next Return t End FunctionEnd Module
Article publié le 01 Janvier 2012 Mise à jour le Jeudi, 15 Décembre 2022 23:08 par GC Team