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.