C# tableau dans structure

Fermé
Mick1908 Messages postés 115 Date d'inscription jeudi 19 août 2010 Statut Membre Dernière intervention 20 juin 2013 - 7 janv. 2012 à 15:45
Nico# Messages postés 323 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 août 2013 - 7 janv. 2012 à 20:56
Bonjour, je souhaite faire une structure qui sera le type d'un tableau, dans cette structure je souhaite mettre un tableau de type d'une 2 eme structure. En claire je souhaite mettre un tableau dans un tableau. Comme si j'enregistrer les donnés d'un élève dans un tableau en faisant une structure, puis dans cette structure j'enregistre un tableau qui me permettrai de stocké les notes de chaque élève mais ce tableau serait aussi de type d'une 2ème strucure en stokant les notes par matieres :

public struct Note
{
public int francais;
public int math;
public int dessin;
}

public struct eleve
{
public Notes[] tabnotes = new Notes[50];
public string nomEleve;
}
public eleve[] tabEleve = new eleve[50];

Cela ne fonctionne pas je pense je pas avoir compris comment on met un tableau dans un tableau en passant par les structures. Aider moi :)


1 réponse

Nico# Messages postés 323 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 août 2013 102
7 janv. 2012 à 20:56
Slt,

pour ce que tu veux faire avec les structures tu peux faire comme ça




 public struct Eleve
    {
        public string Nom { get; set; }

        public Notes[] Notes { get; set; }
    }

 public double Français { get; set; }

        public double Maths { get; set; }


// Fichier Main

 static void Main(string[] args)
        {
            Console.WriteLine("création en cours");
            var eleve = new Eleve[5];
            Console.WriteLine("memoire 5 e");
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Nom : ");
                string readLine = Console.ReadLine();
                eleve[i].Nom = readLine;
                eleve[i].Notes = new Notes[10];
            }
            Console.WriteLine("Tapez le numéro de l'éléve correspondant pour entrée une note");
           
            for (int index = 0; index < eleve.Length; index++)
            {
                var eleve1 = eleve[index];
                Console.WriteLine(eleve1.Nom + " => " + index);
            }
            var num = Console.ReadLine();

            Console.WriteLine("tapez le code de la matiere désirée");

            Console.WriteLine("1 : Français");
            Console.WriteLine("2 : Maths");

            var mat = Console.ReadLine();

            
                try
                {
                    Console.WriteLine("tapez la note");
                    switch (mat)
                    {
                        case "1":
                            eleve[Convert.ToInt32(num)].Notes[0].Français = Convert.ToDouble(Console.ReadLine());
                            break;
                        case "2":
                            eleve[Convert.ToInt32(num)].Notes[0].Maths = Convert.ToDouble(Console.ReadLine());
                            break;
                    }
                }
                catch (Exception)
                {
                    
                    throw;
                }
            
            Console.ReadLine();
        }


cependant tu pourrais utiliser les List<T> avec des classes
0