Skip to content

Solutions des exercices de la semaine 4b

1. Valider un âge

Console.Write("Entrez votre âge : ");
string saisie = Console.ReadLine();
int age;

if (!int.TryParse(saisie, out age))
{
    Console.WriteLine("L'âge doit être un nombre entier.");
}
else if (age < 0)
{
    Console.WriteLine("L'âge ne peut pas être négatif.");
}
else
{
    Console.WriteLine("Âge accepté : " + age);
}

2. Valider un prix

Console.Write("Entrez le prix de l'article : ");
string saisie = Console.ReadLine();
double prix;

if (!double.TryParse(saisie, out prix))
{
    Console.WriteLine("Le prix doit être un nombre réel.");
}
else if (prix < 0)
{
    Console.WriteLine("Le prix ne peut pas être négatif.");
}
else
{
    Console.WriteLine("Prix accepté : " + prix + " $");
}

3. Valider un choix de menu

Console.WriteLine("1. Afficher le profil");
Console.WriteLine("2. Modifier le profil");
Console.WriteLine("3. Quitter");
Console.Write("Votre choix : ");
string choix = Console.ReadLine();

if (choix == "1")
{
    Console.WriteLine("Affichage du profil.");
}
else if (choix == "2")
{
    Console.WriteLine("Modification du profil.");
}
else if (choix == "3")
{
    Console.WriteLine("Fermeture du programme.");
}
else
{
    Console.WriteLine("Choix invalide.");
}

4. Redemander une quantité valide

int quantite;

do
{
    Console.Write("Entrez une quantité positive ou nulle : ");
}
while (!int.TryParse(Console.ReadLine(), out quantite) || quantite < 0);

Console.WriteLine("Quantité acceptée : " + quantite);

5. Fail fast et early exit

Console.Write("Entrez le nom du produit : ");
string produit = Console.ReadLine();

if (string.IsNullOrWhiteSpace(produit))
{
    Console.WriteLine("Le nom du produit ne peut pas être vide.");
    return;
}

Console.Write("Entrez le prix du produit : ");
string saisie = Console.ReadLine();
double prix;

if (!double.TryParse(saisie, out prix))
{
    Console.WriteLine("Le prix doit être un nombre réel.");
    return;
}

if (prix < 0)
{
    Console.WriteLine("Le prix ne peut pas être négatif.");
    return;
}

Console.WriteLine("Produit : " + produit);
Console.WriteLine("Prix : " + prix + " $");

Les cas invalides sont traités dès qu'ils sont détectés. Le programme quitte avec return, ce qui évite d'imbriquer les validations dans plusieurs blocs if/else.