Académique Documents
Professionnel Documents
Culture Documents
cs
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sequence_6_Classess
{
internal class Personne : IEquatable<Personne?>
{
private string nom;
private string prenom;
private double taille;
private double poids;
}
public double Taille
{
get { return taille; }
//set { taille = value; }
// 12-c
set
{
if (value >= 0 && value <= TAILLE_MAX)
{
taille = value;
}
else
{
throw new ArgumentOutOfRangeException($"La taille doit être un nombre positif et ne pas dépasser
{TAILLE_MAX} mètres.");
}
}
//qst 16
// Constructeur avec quatre paramètres pour initialiser toutes les propriétés
public Personne(string nom, string prenom, double taille, double poids)
{
// Assignation des valeurs aux propriétés de l'objet Personne créé
this.Nom = nom;
this.Prenom = prenom;
this.Taille = taille;
this.Poids = poids;
}
//qst 17
// Surcharge du constructeur pour rendre le nom optionnel
public Personne(string prenom, double taille, double poids) : this("", prenom, taille, poids)
{
// Ce constructeur appelle le constructeur existant avec une chaîne vide pour le nom
// et utilise les valeurs fournies pour prénom, taille et poids
}
//qst 20
// Comparaison de la taille avec les opérateurs <, >, <=, >=
public static bool operator <(Personne personne1, Personne personne2)
{
return personne1?.Taille < personne2?.Taille;
}
//qst 21-a)
// Méthodes pour calculer l'IMC et donner l'indication correspondante
public double CalculeImc()
{
if (Taille == 0)
{
throw new InvalidOperationException("La taille ne peut pas être égale à zéro pour calculer l'IMC.");
}
//qst 21-b)
public int Age => CalculeAge(); // Propriété en lecture seule pour l'âge
public Personne(string nom, string prenom, double taille, double poids, int age)
{
}
}
}
Main
namespace Sequence_6_Classess
{
internal class Program
{
static void Main(string[] args)
{
// Instanciation d'un objet Personne
//Personne p = new Personne();
/*
//qst 16
try
{
// Utilisation du constructeur avec quatre paramètres pour créer un objet Personne
Personne p = new Personne("Doe", "John", 1.8, 75);
//qst 12-a
try
{
Personne p = new Personne();
p.Prenom = "MARC";
Console.WriteLine($"Donnée en entrée : MARC, Résultat : {p.Prenom}");
p.Prenom = "marc";
Console.WriteLine($"Donnée en entrée : marc, Résultat : {p.Prenom}");
try
{
Personne p = new Personne();
string prenomNull = null;
p.Prenom = prenomNull;
// Cette ligne ne sera pas atteinte car une exception sera levée avant
Console.WriteLine($"Donnée en entrée : null, Résultat : {p.Prenom}");
}
catch (ArgumentNullException e)
{
Console.WriteLine($"Exception : {e.Message}");
}
//qst 12-b
try
{
Personne p = new Personne();
p.Poids = 800;
Console.WriteLine($"Poids : {p.Poids} kg");
p.Poids = -50;
// Cette ligne ne sera pas atteinte car une exception sera levée avant
Console.WriteLine($"Poids : {p.Poids} kg");
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine($"Exception : {e.Message}");
}
try
{
Personne p = new Personne();
p.Poids = 1200;
// Cette ligne ne sera pas atteinte car une exception sera levée avant
Console.WriteLine($"Poids : {p.Poids} kg");
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine($"Exception : {e.Message}");
}
//12-c
try
{
Personne p = new Personne();
p.Taille = 3.5;
Console.WriteLine($"Taille : {p.Taille} m");
p.Taille = -1;
// Cette ligne ne sera pas atteinte car une exception sera levée avant
Console.WriteLine($"Taille : {p.Taille} m");
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine($"Exception : {e.Message}");
}
try
{
Personne p = new Personne();
p.Taille = 6;
// Cette ligne ne sera pas atteinte car une exception sera levée avant
Console.WriteLine($"Taille : {p.Taille} m");
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine($"Exception : {e.Message}");
}
//qst 19
Personne vous = new Personne("VotreNom", "VotrePrenom", 1.75, 70); // Remplacez avec vos détails
Personne votreVoisin = new Personne("VoisinNom", "VoisinPrenom", 1.80, 75); // Remplacez avec les
détails de votre voisin
if (identiques)
{
Console.WriteLine("Vous et votre voisin êtes identiques !");
}
else
{
Console.WriteLine("Vous et votre voisin êtes différents !");
}
//qst 20
Personne personne1 = new Personne("Nom1", "Prenom1", 1.75, 70);
Personne personne2 = new Personne("Nom2", "Prenom2", 1.80, 75);
if (personne1 > personne2)
{
Console.WriteLine("La personne 1 est plus grande que la personne 2 !");
}
else if (personne1 < personne2)
{
Console.WriteLine("La personne 2 est plus grande que la personne 1 !");
}
else
{
Console.WriteLine("Les deux personnes ont la même taille !");
}
//qst 21:
*/
// qst 22
Console.WriteLine("Entrez vos informations :");
Console.Write("Nom : ");
string nom = Console.ReadLine();
Console.Write("Prénom : ");
string prenom = Console.ReadLine();
Console.Write("Nom : ");
string nom1 = Console.ReadLine();
Console.Write("Prénom : ");
string prenom1 = Console.ReadLine();
//
lui.DateNaissance = new DateTime(2000, 3, 15);
Console.WriteLine($"Age de lui : {lui} ans");
//
Console.WriteLine($"Informations pour {prenom1} {nom1} :");
Console.WriteLine($"Taille : {taille1} m | Poids : {poids1} kg");
//
bool estPlusJeune = vous.EstPlusJeune(lui);
Console.WriteLine(estPlusJeune ? "vous est plus jeune que lui." : "lui est plus jeune que vous");
//
}
}
}