Module - Programmation événementielle
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 [Link];
using [Link];
using [Link];
using [Link];
namespace ConsoleApp1
{
class Program
{
protected
static void Main(string[] args)
{
Point P;
P.x = 10;
P.y = 3;
[Link]("Les coordonnées du point P :({0},{1})", P.x, P.y);
[Link]();
}
}
struct Point
{
public int x; // Abscisse
public int y; // Ordonnée
}
}
Réalisé Par : SOUFIANE AIT TALEB Page 1 sur 5
Module - Programmation événementielle
et orientée objet
B. Structure contenant un champ tableau
Exemple :
L'exemple suivant permet de créer la structure Etudiant avec un tableau des notes :
using System;
using [Link];
using [Link];
using [Link];
using [Link];
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;
float S;
Etudiant E;
[Link]("Entrer le nom de l'étudiant : ");
[Link] = [Link]();
[Link]("Entrer le prénom de l'étudiant : ");
[Link]énom = [Link]();
[Link]("Entrer l’âge de l'étudiant : ");
[Link] =[Link]([Link]());
[Link]("Entrer le nombre des notes : ");
N = [Link]([Link]());
[Link] = new float[N];
S = 0;
for (i = 0; i < [Link]; i++)
{
[Link]("Saisir la note N°{0} : ",i+1);
[Link][i] = [Link]([Link]());
S += [Link][i];
}
[Link] = S / N;
[Link]("Affichage des données de l'étudiant : ");
[Link]("Nom : " + [Link]);
[Link]("Prénom : " + [Link]énom);
[Link]("Age : " + [Link]);
[Link]("Ses Notes : ");
foreach (var note in [Link])
{
[Link](note + "\t");
}
[Link]("\nSa Moyenne : "+[Link]);
[Link]();
}
}
}
Réalisé Par : SOUFIANE AIT TALEB Page 2 sur 5
Module - Programmation événementielle
et orientée objet
C. Tableau de structures
Exemple :
L'exemple suivant permet de créer un tableau de structures Etudiant :
using System;
using [Link];
using [Link];
using [Link];
using [Link];
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;
[Link]("Entrer le nombre d'étudiants à saisir : ");
NB= [Link]([Link]());
Etudiant[] ListeEtudiant = new Etudiant[NB];
for(i=0;i< [Link]; i++)
{ [Link](">>>>> Saisie des données de l'étudiant N°:{0}", i + 1);
[Link]("Entrer le nom de l'étudiant : ");
ListeEtudiant[i].Nom = [Link]();
[Link]("Entrer le prénom de l'étudiant : ");
ListeEtudiant[i].Prénom = [Link]();
[Link]("Entrer l’âge de l'étudiant : ");
ListeEtudiant[i].Age = [Link]([Link]());
[Link]("Entrer le nombre des notes : ");
N = [Link]([Link]());
ListeEtudiant[i].Notes = new float[N];
S = 0;
for (j = 0; j < ListeEtudiant[i].[Link]; j++)
{
[Link]("Saisir la note N°{0} : ", j + 1);
Réalisé Par : SOUFIANE AIT TALEB Page 3 sur 5
Module - Programmation événementielle
et orientée objet
ListeEtudiant[i].Notes[j] = [Link]([Link]());
S += ListeEtudiant[i].Notes[j];
}
ListeEtudiant[i].Moyenne = S / N;
}
for (i = 0; i < [Link]; i++)
{
[Link]("Affichage des données de l'étudiant N°: {0}",i+1);
[Link]("Nom : " + ListeEtudiant[i].Nom);
[Link]("Prénom : " + ListeEtudiant[i].Prénom);
[Link]("Age : " + ListeEtudiant[i].Age);
[Link]("Ses Notes : ");
for (j = 0; j < ListeEtudiant[i].[Link]; j++)
{
[Link](ListeEtudiant[i].Notes[j] + "\t");
}
[Link]("\nSa Moyenne : " + ListeEtudiant[i].Moyenne);
[Link]("----------------------------------------");
}
[Link]();
}
}
}
Réalisé Par : SOUFIANE AIT TALEB Page 4 sur 5
Module - Programmation événementielle
et orientée objet
D. Structure qui contient un champ de type
structure
Exemple :
L'exemple suivant permet de créer la structure Etudiant qui contient le champ dateNaissance
de type Structure :
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace ConsoleApp1
{ struct Etudiant
{ public string Nom;
public string Prénom;
public Date dateNaissance;
}
struct Date
{
public int jour, mois, année;
}
class Program
{ static void Main(string[] args)
{ Etudiant E;
[Link]("Entrer le nom : ");
[Link] = [Link]();
[Link]("Entrer le prénom : ");
[Link]énom = [Link]();
[Link]("Entrer le jour de naissance : ");
[Link] =[Link]([Link]());
[Link]("Entrer le mois de naissance : ");
[Link] = [Link]([Link]());
[Link]("Entrer l'année de naissance : ");
[Link]ée = [Link]([Link]());
[Link]("L'étudiant {0} {1} né le {2}/{3}/{4}", [Link], [Link]énom,
[Link], [Link], [Link]ée);
[Link]();
}
}
}
Réalisé Par : SOUFIANE AIT TALEB Page 5 sur 5