Exercices corrigés C# – Programmation Orientée Objet | Partie 3
Avec des exercices corrigés en C#, vous pratiquerez divers concepts du langage C#. Vous commencerez par des exercices C#de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Écrire un programme C# pour créer une classe appelée « Stock » avec une collection de produits et des méthodes pour ajouter et supprimer des produits, et pour vérifier si le stock est insuffisant.
Diagrame de classe:

// Importer les classes nécessaires
using System;
using System.Collections.Generic;
// Définir la classe Produit
class Produit
{
// Champ privé pour stocker le nom du produit
private string nom;
// Champ privé pour stocker la quantité du produit
private int quantite;
// Constructeur pour initialiser le nom et la quantité du produit
public Produit(string nom, int quantite)
{
this.nom = nom;
this.quantite = quantite;
}
// Méthode pour obtenir le nom du produit
public string GetNom()
{
return nom;
}
// Méthode pour définir le nom du produit
public void SetNom(string nom)
{
this.nom = nom;
}
// Méthode pour obtenir la quantité du produit
public int GetQuantite()
{
return quantite;
}
// Méthode pour définir la quantité du produit
public void SetQuantite(int quantite)
{
this.quantite = quantite;
}
}
// Définir la classe Stock
class Stock
{
// Champ privé pour stocker une liste d'objets Produit
private List<Produit> produits;
// Constructeur pour initialiser le champ produits
public Stock()
{
// Initialiser la liste des produits
produits = new List<Produit>();
}
// Méthode pour ajouter un produit à la liste des produits
public void AddProduit(Produit produit)
{
produits.Add(produit);
}
// Méthode pour supprimer un produit de la liste des produits
public void RemoveProduit(Produit produit)
{
produits.Remove(produit);
}
// Méthode pour vérifier si les produits en stock sont
// insuffisants
public void CheckStock()
{
// Itérer dans la liste des produits
foreach (Produit p in produits)
{
// Vérifier si la quantité du produit est inférieure ou
// égale à 100
if (p.GetQuantite() <= 100)
{
// Afficher un message indiquant que le produit est
// en rupture de stock
Console.WriteLine($"{p.GetNom()} est en rupture de stock. La quantité actuelle: {p.GetQuantite()}");
}
}
}
}
// Définir la classe pour tester la classe Stock et Produit
class Program
{
// Définir la méthode Main qui est le point d'entrée du programme
static void Main(string[] args)
{
// Créer une nouvelle instance de la classe Stock
Stock stock = new Stock();
// Créer de nouveaux objets Produit avec nom et quantité
Produit p1 = new Produit("Souris", 300);
Produit p2 = new Produit("Clavier", 70);
Produit p3 = new Produit("Tablette", 40);
Console.WriteLine("Ajouter trois produits en stock:");
stock.AddProduit(p1);
stock.AddProduit(p2);
stock.AddProduit(p3);
Console.WriteLine("\nVérifier la disponibilité des stocks:");
// Vérifier et afficher les produits dont le stock est
// insuffisant
stock.CheckStock();
Console.WriteLine("\nSupprimer la tablette du stock!");
// Supprimer le produit Tablette du stock
stock.RemoveProduit(p3);
Console.WriteLine("\nVérifier à nouveau la disponibilité des stocks:");
// Vérifier et afficher les produits dont le stock est
// insuffisant
stock.CheckStock();
}
}
Sortie:
Ajouter trois produits en stock: Vérifier la disponibilité des stocks: Clavier est en rupture de stock. La quantité actuelle: 70 Tablette est en rupture de stock. La quantité actuelle: 40 Supprimer la tablette du stock! Vérifier à nouveau la disponibilité des stocks: Clavier est en rupture de stock. La quantité actuelle: 70
Exercice 2:
Écrivez un programme C# pour créer une classe appelée « Ecole » avec des attributs pour les étudiants, les enseignants et les classes, et des méthodes pour ajouter et supprimer des étudiants et des enseignants, et pour créer des classes (cours).
Diagrame de classe:

// Importer les classes nécessaires
using System;
using System.Collections.Generic;
// Définir la classe Ecole
class Ecole
{
// Champ privé pour stocker une liste d'étudiants
private List<Etudiant> etudiants;
// Champ privé pour stocker une liste d'enseignants
private List<Enseignant> enseignants;
// Champ privé pour stocker une liste de classes
private List<Classe> classes;
// Constructeur pour initialiser les listes
public Ecole()
{
this.etudiants = new List<Etudiant>();
this.enseignants = new List<Enseignant>();
this.classes = new List<Classe>();
}
// Méthode pour ajouter un étudiant
public void AddEtudiant(Etudiant student)
{
etudiants.Add(student);
}
// Méthode pour supprimer un étudiant
public void RemoveEtudiant(Etudiant student)
{
etudiants.Remove(student);
}
// Méthode pour ajouter un enseignant
public void AddEnseignant(Enseignant teacher)
{
enseignants.Add(teacher);
}
// Méthode pour supprimer un enseignant
public void RemoveEnseignant(Enseignant teacher)
{
enseignants.Remove(teacher);
}
// Méthode pour ajouter une classe
public void AddClasse(Classe schoolClass)
{
classes.Add(schoolClass);
}
// Méthode pour supprimer une classe
public void RemoveClasse(Classe schoolClass)
{
classes.Remove(schoolClass);
}
// Méthode pour récupérer la liste des étudiants
public List<Etudiant> GetEtudiants()
{
return etudiants;
}
// Méthode pour récupérer la liste des enseignants
public List<Enseignant> GetEnseignants()
{
return enseignants;
}
// Méthode pour récupérer la liste des classes
public List<Classe> GetClasses()
{
return classes;
}
}
// Définir la classe Etudiant
class Etudiant
{
// Champs privés pour stocker le nom et l'âge de l'étudiant
private string nom;
private int age;
// Constructeur pour initialiser les champs
public Etudiant(string nom, int age)
{
this.nom = nom;
this.age = age;
}
// Getter et Setter pour le nom
public string GetNom()
{
return nom;
}
public void SetNom(string nom)
{
this.nom = nom;
}
// Getter et Setter pour l'âge
public int GetAge()
{
return age;
}
public void SetAge(int age)
{
this.age = age;
}
}
// Définir la classe Enseignant
class Enseignant
{
// Champs privés pour stocker le nom et la matière
private string nom;
private string matiere;
// Constructeur pour initialiser les champs
public Enseignant(string nom, string matiere)
{
this.nom = nom;
this.matiere = matiere;
}
// Getter et Setter pour le nom
public string GetNom()
{
return nom;
}
public void SetNom(string nom)
{
this.nom = nom;
}
// Getter et Setter pour la matière
public string GetMatiere()
{
return matiere;
}
public void SetMatiere(string matiere)
{
this.matiere = matiere;
}
}
// Définir la classe Classe
class Classe
{
// Champs privés pour stocker le nom de la classe, l'enseignant
// et la liste d'étudiants
private string nomClasse;
private Enseignant enseignant;
private List<Etudiant> etudiants;
// Constructeur pour initialiser les champs
public Classe(string nomClasse, Enseignant enseignant)
{
this.nomClasse = nomClasse;
this.enseignant = enseignant;
this.etudiants = new List<Etudiant>();
}
// Getter et Setter pour le nom de la classe
public string GetNomClasse()
{
return nomClasse;
}
public void SetNomClasse(string nomClasse)
{
this.nomClasse = nomClasse;
}
// Getter et Setter pour l'enseignant
public Enseignant GetEnseignant()
{
return enseignant;
}
public void SetEnseignant(Enseignant enseignant)
{
this.enseignant = enseignant;
}
// Méthode pour récupérer la liste des étudiants
public List<Etudiant> GetEtudiants()
{
return etudiants;
}
// Méthode pour ajouter un étudiant à la classe
public void AddEtudiant(Etudiant e)
{
etudiants.Add(e);
}
// Méthode pour supprimer un étudiant de la classe
public void RemoveEtudiant(Etudiant e)
{
etudiants.Remove(e);
}
}
// Définir la classe Main
class Program
{
static void Main(string[] args)
{
// Créer une nouvelle instance de la classe Ecole
Ecole ecole = new Ecole();
// Créer des objets Etudiant
Etudiant et1 = new Etudiant("Alex Babtise", 20);
Etudiant et2 = new Etudiant("Bob Firok", 25);
Etudiant et3 = new Etudiant("Emily Taylor", 22);
Etudiant et4 = new Etudiant("Ali Binani", 23);
// Ajouter les étudiants à l'école
ecole.AddEtudiant(et1);
ecole.AddEtudiant(et2);
ecole.AddEtudiant(et3);
ecole.AddEtudiant(et4);
// Créer des objets Enseignant
Enseignant es1 = new Enseignant("Yohan Sinor", "Math");
Enseignant es2 = new Enseignant("Thomas Fiza", "Anglais");
Enseignant es3 = new Enseignant("Olivier Bibo", "Science");
// Ajouter les enseignants à l'école
ecole.AddEnseignant(es1);
ecole.AddEnseignant(es2);
ecole.AddEnseignant(es3);
// Créer des objets Classe
Classe classMath = new Classe("Mathematics", es1);
classMath.AddEtudiant(et1);
classMath.AddEtudiant(et2);
classMath.AddEtudiant(et3);
classMath.AddEtudiant(et4);
Classe classAnglais = new Classe("Anglais", es2);
classAnglais.AddEtudiant(et1);
classAnglais.AddEtudiant(et2);
classAnglais.AddEtudiant(et3);
Classe classScience = new Classe("Science", es3);
classScience.AddEtudiant(et1);
classScience.AddEtudiant(et2);
classScience.AddEtudiant(et3);
classScience.AddEtudiant(et4);
// Ajouter les classes à l'école
ecole.AddClasse(classMath);
ecole.AddClasse(classAnglais);
ecole.AddClasse(classScience);
// Afficher des informations sur l'école
Console.WriteLine("Informations sur l'école:");
Console.WriteLine("Nombre d'étudiants: " + ecole.GetEtudiants().Count);
Console.WriteLine("Nombre d'enseignants: " + ecole.GetEnseignants().Count);
Console.WriteLine("Nombre de classes: " + ecole.GetClasses().Count);
Console.WriteLine();
// Afficher les informations sur les cours de mathématiques
Console.WriteLine("Informations sur les cours de mathématiques:");
Console.WriteLine("Nom de Classe: " + classMath.GetNomClasse());
Console.WriteLine("Enseignant: " + classMath.GetEnseignant().GetNom());
Console.WriteLine("Nombre d'étudiants: " + classMath.GetEtudiants().Count);
Console.WriteLine();
// Afficher les informations sur les cours d'anglais
Console.WriteLine("Informations sur les cours d'anglais:");
Console.WriteLine("Nom de Classe: " + classAnglais.GetNomClasse());
Console.WriteLine("Enseignant: " + classAnglais.GetEnseignant().GetNom());
Console.WriteLine("Nombre d'étudiants: " + classAnglais.GetEtudiants().Count);
Console.WriteLine();
// Afficher les informations sur les cours de sciences
Console.WriteLine("Informations sur les cours de sciences:");
Console.WriteLine("Nom de Classe: " + classScience.GetNomClasse());
Console.WriteLine("Enseignant: " + classScience.GetEnseignant().GetNom());
Console.WriteLine("Nombre d'étudiants: " + classScience.GetEtudiants().Count);
Console.WriteLine();
// Supprimer un étudiant, un enseignant et une classe
ecole.RemoveEtudiant(et1);
ecole.RemoveEnseignant(es2);
ecole.RemoveClasse(classMath);
// Afficher les informations mises à jour après suppression
Console.WriteLine("Informations sur l'école après suppression d'un élève, d'un enseignant et d'une classe:");
Console.WriteLine("Nombre d'étudiants: " + ecole.GetEtudiants().Count);
Console.WriteLine("Nombre d'enseignants: " + ecole.GetEnseignants().Count);
Console.WriteLine("Nombre de classes: " + ecole.GetClasses().Count);
}
}
Sortie:
Informations sur l'école: Nombre d'étudiants: 4 Nombre d'enseignants: 3 Nombre de classes: 3 Informations sur les cours de mathématiques: Nom de Class: Mathematics Enseignant: Yohan Sinor Nombre d'étudiants: 4 Informations sur les cours d'anglais: Nom de Class: Anglais Enseignant: Thomas Fiza Nombre d'étudiants: 3 Informations sur les cours de sciences: Nom de Class: Science Enseignant: Olivier Bibo Nombre d'étudiants: 4 Informations sur l'école après suppression d'un élève, d'un enseignant et d'une classe: Nombre d'étudiants: 3 Nombre d'enseignants: 2 Nombre de classes: 2
Exercice 3:
Écrire un programme C# pour créer une classe appelée « BiblioMusicale » avec une collection de chansons et des méthodes pour ajouter et supprimer des chansons, et pour jouer une chanson au hasard.
Diagrame de classe:

// Importer les bibliothèques nécessaires
using System;
using System.Collections.Generic;
// Définir la classe BiblioMusicale
class BiblioMusicale
{
// Champ privé pour stocker une liste de chansons
private List<Chanson> chansons;
// Constructeur pour initialiser la liste des chansons
public BiblioMusicale()
{
// Créer une nouvelle liste pour stocker les objets Chanson
chansons = new List<Chanson>();
}
// Méthode pour ajouter une chanson à la bibliothèque
public void AddChanson(Chanson song)
{
// Ajouter la chanson fournie à la liste des chansons
chansons.Add(song);
}
// Méthode pour supprimer une chanson de la bibliothèque
public void RemoveChanson(Chanson song)
{
// Supprimer la chanson fournie de la liste des chansons
chansons.Remove(song);
}
// Méthode pour obtenir la liste de toutes les chansons de la
// bibliothèque
public List<Chanson> GetChansons()
{
// Retourner la liste des chansons
return chansons;
}
// Méthode pour lire une chanson aléatoire de la bibliothèque
public void LireChansonAleatoire()
{
// Récupérer le nombre de chansons dans la bibliothèque
int size = chansons.Count;
// Vérifier si la bibliothèque est vide
if (size == 0)
{
// Afficher un message s'il n'y a pas de chansons à lire
Console.WriteLine("Il n'y a pas de chansons à lire.");
return; // Quitter la méthode
}
// Créer un nouvel objet Random pour générer un nombre
// aléatoire
Random rand = new Random();
// Générer un index aléatoire dans l'intervalle de la liste
// des chansons
int index = rand.Next(size);
// Afficher le titre et l'artiste de la chanson sélectionnée
// de manière aléatoire
Console.WriteLine("Lire: " + chansons[index].GetTitre() + " par " + chansons[index].GetArtist());
}
}
// Définir la classe Chanson
class Chanson
{
// Champs privés pour stocker le titre et l'artiste de la chanson
private string titre;
private string artiste;
// Constructeur pour initialiser les champs titre et artiste
public Chanson(string titre, string artiste)
{
// Définir le champ titre avec le titre fourni
this.titre = titre;
// Définir le champ artiste avec l'artiste fourni
this.artiste = artiste;
}
// Méthode Getter pour récupérer le titre de la chanson
public string GetTitre()
{
// Retourner la valeur du champ titre
return titre;
}
// Méthode pour modifier le titre de la chanson
public void SetTitre(string titre)
{
// Définir le champ titre avec le titre fourni
this.titre = titre;
}
// Méthode Getter pour récupérer l'artiste de la chanson
public string GetArtist()
{
// Retourner la valeur du champ artiste
return artiste;
}
// Méthode pour modifier le nom de l'artiste de la chanson
public void SetArtist(string artiste)
{
// Définir le champ artiste avec l'artiste fourni
this.artiste = artiste;
}
}
// Définir la classe Main
class MainClass
{
// Définir la méthode Main qui est le point d'entrée du programme
public static void Main(string[] args)
{
// Créer une nouvelle instance de la classe BiblioMusicale
BiblioMusicale biblio = new BiblioMusicale();
// Ajouter des chansons à la bibliothèque musicale
biblio.AddChanson(new Chanson("Un clair de lune", "Jean Chérasse"));
biblio.AddChanson(new Chanson("Cadet Rousselle", "André Hunebelle"));
biblio.AddChanson(new Chanson("Help!", "Richard Lester"));
biblio.AddChanson(new Chanson("Baisers volés", "François Truffaut"));
biblio.AddChanson(new Chanson("Je t'aime", "Serge Gainsbourg"));
biblio.AddChanson(new Chanson("Staying Alive", "Michel Blanc"));
// Afficher toutes les chansons de la bibliothèque musicale
Console.WriteLine("Toutes les chansons:");
foreach (Chanson chanson in biblio.GetChansons())
{
Console.WriteLine(chanson.GetTitre() + " par " + chanson.GetArtist());
}
Console.WriteLine("\nLecture d'une chanson aléatoire:");
// Lire et afficher trois fois une chanson choisie au hasard
// dans la bibliothèque
biblio.LireChansonAleatoire();
Console.WriteLine();
biblio.LireChansonAleatoire();
Console.WriteLine();
biblio.LireChansonAleatoire();
}
}
Sortie:
Toutes les chansons: Un clair de lune par Jean Chérasse Cadet Rousselle par André Hunebelle Help! par Richard Lester Baisers volés par François Truffaut Je t'aime par Serge Gainsbourg Staying Alive par Michel Blanc Lecture d'une chanson aléatoire: Lire: Help! par Richard Lester Lire: Baisers volés par François Truffaut Lire: Help! par Richard Lester
Exercice 4:
Écrivez un programme C# pour créer une classe appelée 'Forme' avec des méthodes abstraites pour calculer la surface et le périmètre, et des sous-classes pour le 'Rectangle', le 'Cercle' et le 'Triangle'.
Diagrame de classe:

// Importer les bibliothèques nécessaires
using System;
// Définir la classe Forme comme une classe abstraite
public abstract class Forme
{
// Méthode abstraite pour récupérer la surface de la forme
// Cette méthode doit être implémentée par toute sous-classe de
// Forme
public abstract double GetSurface();
// Méthode abstraite permettant d'obtenir le périmètre de la
// forme
// Cette méthode doit être implémentée par toute sous-classe de
// Forme
public abstract double GetPerimeter();
}
// Définir la classe Rectangle, qui hérite de la classe Forme
public class Rectangle : Forme
{
// Champs privés pour stocker la longueur et la largeur du
// rectangle
private double longueur;
private double largeur;
// Constructeur pour initialiser la longueur et la largeur du
// rectangle
public Rectangle(double longueur, double largeur)
{
// Définir le champ longueur à la longueur fournie
this.longueur = longueur;
// Définir le champ largeur à la largeur fournie
this.largeur = largeur;
}
// Méthode pour calculer et renvoyer la surface du rectangle
public override double GetSurface()
{
// Calculer la surface en multipliant la longueur et la
// largeur
return longueur * largeur;
}
// Méthode pour calculer et renvoyer le périmètre du rectangle
public override double GetPerimeter()
{
// Calculer le périmètre à l'aide de la formule 2 * (longueur
// + largeur)
return 2 * (longueur + largeur);
}
}
// Définir la classe Cercle, qui hérite de la classe Forme
public class Cercle : Forme
{
// Champ privé pour stocker le rayon du cercle
private double rayon;
// Constructeur pour initialiser le rayon du cercle
public Cercle(double rayon)
{
// Attribuer au champ rayon le rayon fourni
this.rayon = rayon;
}
// Méthode pour calculer et renvoyer la surface du cercle
public override double GetSurface()
{
// Calculer la surface en utilisant la formule π * rayon^2
return Math.PI * rayon * rayon;
}
// Méthode de calcul du périmètre du cercle
public override double GetPerimeter()
{
// Calculer le périmètre en utilisant la formule 2 * π *
// rayon
return 2 * Math.PI * rayon;
}
}
// Définir la classe Triangle, qui hérite de la classe Forme
public class Triangle : Forme
{
// Champs privés pour stocker les côtés du triangle
private double c1;
private double c2;
private double c3;
// Constructeur pour initialiser les côtés du triangle
public Triangle(double c1, double c2, double c3)
{
this.c1 = c1;
this.c2 = c2;
this.c3 = c3;
}
// Méthode pour calculer et renvoyer la surface du triangle
public override double GetSurface()
{
// Calculer le semi-périmètre
double s = (c1 + c2 + c3) / 2;
// Calculer la surface à l'aide de la formule de Heron
return Math.Sqrt(s * (s - c1) * (s - c2) * (s - c3));
}
// Méthode pour calculer et renvoyer le périmètre du triangle
public override double GetPerimeter()
{
// Calculer le périmètre en additionnant les côtés
return c1 + c2 + c3;
}
}
// Définir la classe Main
public class MainClass
{
// Définir la méthode Main qui est le point d'entrée du programme
public static void Main(string[] args)
{
// Créer un rectangle de longueur 15 et de largeur 20
Forme rectangle = new Rectangle(15, 20);
// Créer un cercle de rayon 5
Forme circle = new Cercle(5);
// Créer un triangle dont les côtés sont 5, 7 et 9
Forme triangle = new Triangle(5, 7, 9);
Console.WriteLine("\nSurface et périmètre de différentes formes:");
// Afficher les détails et calculs du rectangle
Console.WriteLine("\nRectangle:");
Console.WriteLine("Surface: " + rectangle.GetSurface());
Console.WriteLine("Périmètre: " + rectangle.GetPerimeter());
// Afficher les détails et calculs du cercle
Console.WriteLine("\nCercle:");
Console.WriteLine("Surface: " + circle.GetSurface());
Console.WriteLine("Périmètre: " + circle.GetPerimeter());
// Afficher les détails et calculs du triangle
Console.WriteLine("\nTriangle:");
Console.WriteLine("Surface: " + triangle.GetSurface());
Console.WriteLine("Périmètre: " + triangle.GetPerimeter());
}
}
Sortie:
Surface et périmètre de différentes formes: Rectangle: Surface: 300.0 Périmètre: 70.0 Cercle: Surface: 78.53981633974483 Périmètre: 31.41592653589793 Triangle: Surface: 17.41228014936585 Périmètre: 21.0
Exercice 5:
Écrire un programme C# pour créer une classe appelée « Film » avec des attributs pour le titre, le directeur, les acteurs et les avis, et des méthodes pour ajouter et récupérer des avis.
Diagrame de classe:

// Importer les classes List et Array du namespace System.Collections.Generic
using System;
using System.Collections.Generic;
// Définir la classe Film
public class Film
{
// Champs privés pour stocker le titre, le directeur, les acteurs
// et les avis sur le film
private string titre;
private string directeur;
private List<string> acteurs;
private List<Avis> avis;
// Constructeur pour initialiser le titre, le directeur et les
// acteurs du film
public Film(string titre, string directeur, List<string> acteurs)
{
this.titre = titre;
this.directeur = directeur;
this.acteurs = acteurs;
this.avis = new List<Avis>();
}
// Méthode pour ajouter un avis sur le film
public void AddAvis(Avis a)
{
// Ajouter l'avis fourni à la liste des avis
this.avis.Add(a);
}
// Méthode pour récupérer la liste de toutes les avis du film
public List<Avis> GetAvis()
{
// Renvoyer la liste des avis
return this.avis;
}
// Méthode pour récupérer le titre du film
public string GetTitre()
{
// Retourner la valeur du champ titre
return this.titre;
}
// Méthode pour récupérer le directeur du film
public string GetDirecteur()
{
// Retourner la valeur du champ directeur
return this.directeur;
}
// Méthode pour récupérer la liste des acteurs d'un film
public List<string> GetActeurs()
{
// Retourner la liste des acteurs
return this.acteurs;
}
}
// Définir la classe Avis
public class Avis
{
// Champs privés pour stocker le texte de l'avis, le nom de
// l'avis et la note
private string textAvis;
private string nomAvis;
private double note;
// Constructeur pour initialiser le texte de l'avis, le nom de
// l'avis et la note
public Avis(string textAvis, string nomAvis, double note)
{
this.textAvis = textAvis;
this.nomAvis = nomAvis;
this.note = note;
}
// Méthode pour récupérer le texte de l'avis
public string GetTextAvis()
{
// Retourner la valeur du champ textAvis
return textAvis;
}
// Méthode pour récupérer le nom de l'avis
public string GetNomAvis()
{
// Retourner la valeur du champ nomAvis
return nomAvis;
}
// Méthode pour récupérer la note
public double GetNote()
{
// Retourner la valeur du champ note
return note;
}
}
// Définir la classe Main
public class MainClass
{
// Définir la méthode Main qui est le point d'entrée du programme
public static void Main(string[] args)
{
// Créer un objet film
Film f1 = new Film("La Roue", "Jean Servais",
new List<string> { "Pierre Pelletier", "Pierre Mondy" });
// Créer des objets d'avis
Avis avis1 = new Avis("Excellent film!", "Alex Babtise", 5.0);
Avis avis2 = new Avis("Fortement recommandé!", "Jean Zino", 4.5);
Avis avis3 = new Avis("Un film magnifique", "Bob Polib", 4.0);
// Ajouter un avis sur f1
f1.AddAvis(avis1);
f1.AddAvis(avis2);
f1.AddAvis(avis3);
// Afficher tous les avis sur 'La Roue'
Console.WriteLine("\nAvis pour '" + f1.GetTitre() + "':");
foreach (Avis a in f1.GetAvis())
{
Console.WriteLine(a.GetTextAvis() + " par " + a.GetNomAvis() + " - " + a.GetNote());
}
}
}
Sortie:
Avis pour 'La Roue': Excellent film! par Alex Babtise - 5.0 Fortement recommandé! par Jean Zino - 4.5 Un film magnifique par Bob Polib - 4.0
Éditeur de code C#: Testez votre code en ligne!
Exercices corrigés C# - Programmation Orientée Objet | Partie 2
Exercices corrigés C# - Programmation Orientée Objet | Partie 3
Exercices corrigés C# - Programmation Orientée Objet | Partie 4
Exercices corrigés C# - Programmation Orientée Objet | Partie 5
Exercices corrigés C# - Programmation Orientée Objet | Partie 6
QCM C# – Framework .NET – Partie 1QCM sur C# avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
- Exercice C# Corrigé – Partie 1
- Exercice C# Corrigé – Partie 2
- Exercices corrigés C# – Programmation Orientée Objet | Partie 1
- Exercices corrigés C# – Programmation Orientée Objet | Partie 2
- Exercices corrigés C# – Programmation Orientée Objet | Partie 3
- Exercices corrigés C# – Programmation Orientée Objet | Partie 4
- Exercices corrigés C# – Programmation Orientée Objet | Partie 5
- Exercices corrigés C# – Programmation Orientée Objet | Partie 6
- Exercice C# Corrigé – POO


