Académique Documents
Professionnel Documents
Culture Documents
et orientée objet
Partie N°6 :
Les structures en langage C#
I. Les structures en C#
A. Déclarer une structure
En C #, une structure permet de créer une variable unique contenant des données relatives à
différents types de données. Le mot clé struct est utilisé pour créer une structure.
Pour créer une structure en C# on utilise la syntaxe suivante :
struct Nom_Structure
{
Type Champ1;
Type Champ2;
…
}
Exemple :
Créer la structure Point :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
protected
static void Main(string[] args)
{
Point P;
P.x = 10;
P.y = 3;
Console.WriteLine("Les coordonnées du point P :({0},{1})", P.x, P.y);
Console.ReadKey();
}
}
struct Point
{
public int x; // Abscisse
public int y; // Ordonnée
}
}
C. Tableau de structures
Exemple :
L'exemple suivant permet de créer un tableau de structures Etudiant :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{ struct Etudiant
{ public string Nom;
public string Prénom;
public int Age;
public float[] Notes;
public float Moyenne;
}
class Program
{ static void Main(string[] args)
{ int N,i,j,NB;
float S;
Console.Write("Entrer le nombre d'étudiants à saisir : ");
NB= int.Parse(Console.ReadLine());
Etudiant[] ListeEtudiant = new Etudiant[NB];
for(i=0;i< ListeEtudiant.Length; i++)
{ Console.WriteLine(">>>>> Saisie des données de l'étudiant N°:{0}", i + 1);
Console.Write("Entrer le nom de l'étudiant : ");
ListeEtudiant[i].Nom = Console.ReadLine();
Console.Write("Entrer le prénom de l'étudiant : ");
ListeEtudiant[i].Prénom = Console.ReadLine();
Console.Write("Entrer l’âge de l'étudiant : ");
ListeEtudiant[i].Age = int.Parse(Console.ReadLine());
Console.Write("Entrer le nombre des notes : ");
N = int.Parse(Console.ReadLine());
ListeEtudiant[i].Notes = new float[N];
S = 0;
for (j = 0; j < ListeEtudiant[i].Notes.Length; j++)
{
Console.Write("Saisir la note N°{0} : ", j + 1);
ListeEtudiant[i].Notes[j] = float.Parse(Console.ReadLine());
S += ListeEtudiant[i].Notes[j];
}
ListeEtudiant[i].Moyenne = S / N;
}
for (i = 0; i < ListeEtudiant.Length; i++)
{
Console.WriteLine("Affichage des données de l'étudiant N°: {0}",i+1);
Console.WriteLine("Nom : " + ListeEtudiant[i].Nom);
Console.WriteLine("Prénom : " + ListeEtudiant[i].Prénom);
Console.WriteLine("Age : " + ListeEtudiant[i].Age);
Console.WriteLine("Ses Notes : ");
for (j = 0; j < ListeEtudiant[i].Notes.Length; j++)
{
Console.Write(ListeEtudiant[i].Notes[j] + "\t");
}
Console.WriteLine("\nSa Moyenne : " + ListeEtudiant[i].Moyenne);
Console.WriteLine("----------------------------------------");
}
Console.ReadKey();
}
}
}