Vous êtes sur la page 1sur 5

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 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
}
}

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 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;
float S;
Etudiant E;
Console.Write("Entrer le nom de l'étudiant : ");
E.Nom = Console.ReadLine();
Console.Write("Entrer le prénom de l'étudiant : ");
E.Prénom = Console.ReadLine();
Console.Write("Entrer l’âge de l'étudiant : ");
E.Age =int.Parse(Console.ReadLine());
Console.Write("Entrer le nombre des notes : ");
N = int.Parse(Console.ReadLine());
E.Notes = new float[N];
S = 0;
for (i = 0; i < E.Notes.Length; i++)
{
Console.Write("Saisir la note N°{0} : ",i+1);
E.Notes[i] = float.Parse(Console.ReadLine());
S += E.Notes[i];
}
E.Moyenne = S / N;
Console.WriteLine("Affichage des données de l'étudiant : ");
Console.WriteLine("Nom : " + E.Nom);
Console.WriteLine("Prénom : " + E.Prénom);
Console.WriteLine("Age : " + E.Age);
Console.WriteLine("Ses Notes : ");
foreach (var note in E.Notes)
{
Console.Write(note + "\t");
}
Console.WriteLine("\nSa Moyenne : "+E.Moyenne);
Console.ReadKey();
}
}
}

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 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);

Réalisé Par : SOUFIANE AIT TALEB Page 3 sur 5


Module - Programmation événementielle
et orientée objet

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();
}
}
}

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 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 Date dateNaissance;
}
struct Date
{
public int jour, mois, année;
}
class Program
{ static void Main(string[] args)
{ Etudiant E;
Console.Write("Entrer le nom : ");
E.Nom = Console.ReadLine();
Console.Write("Entrer le prénom : ");
E.Prénom = Console.ReadLine();
Console.Write("Entrer le jour de naissance : ");
E.dateNaissance.jour =int.Parse(Console.ReadLine());
Console.Write("Entrer le mois de naissance : ");
E.dateNaissance.mois = int.Parse(Console.ReadLine());
Console.Write("Entrer l'année de naissance : ");
E.dateNaissance.année = int.Parse(Console.ReadLine());
Console.WriteLine("L'étudiant {0} {1} né le {2}/{3}/{4}", E.Nom, E.Prénom,
E.dateNaissance.jour, E.dateNaissance.mois, E.dateNaissance.année);
Console.ReadKey();
}
}
}

Réalisé Par : SOUFIANE AIT TALEB Page 5 sur 5

Vous aimerez peut-être aussi