Vous êtes autorisés à lire cette correction uniquement si vous vous êtes arraché les cheveux sur ce TP ! Je vois qu'il vous en reste, encore un effort !
Quoique, si vous avez réussi avec brio le TP, vous pourrez également comparer votre travail au mien.
Quoi qu’il en soit, voici la correction que je propose. Bien évidemment, il peut y en avoir plusieurs, mais elle contient les informations nécessaires pour la réalisation de ce TP.
Première chose à faire : créer un projet de type console. J’ai ensuite ajouté le code suivant :
Code : C# 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 | static void Main(string[] args)
{
if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
{
// nous sommes le week-end
AfficherBonWeekEnd();
}
else
{
// nous sommes en semaine
if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour < 9)
{
// nous sommes le lundi matin
AfficherBonWeekEnd();
}
else
{
if (DateTime.Now.Hour >= 9 && DateTime.Now.Hour < 18)
{
// nous sommes dans la journée
AfficherBonjour();
}
else
{
// nous sommes en soirée
if (DateTime.Now.DayOfWeek == DayOfWeek.Friday && DateTime.Now.Hour >= 18)
{
// nous sommes le vendredi soir
AfficherBonWeekEnd();
}
else
{
AfficherBonsoir();
}
}
}
}
}
static void AfficherBonWeekEnd()
{
Console.WriteLine("Bon week-end " + Environment.UserName);
}
static void AfficherBonjour()
{
Console.WriteLine("Bonjour " + Environment.UserName);
}
static void AfficherBonsoir()
{
Console.WriteLine("Bonsoir " + Environment.UserName);
}
|
Détaillons un peu ce code :
Au chargement du programme (méthode
Main) nous faisons les comparaisons adéquates.
Dans un premier temps, nous testons le jour de la semaine de la date courante (
DateTime.Now.DayOfWeek) et nous la comparons aux valeurs représentant Samedi et Dimanche. Si c’est le cas, alors nous appelons une méthode qui affiche le message « Bon week-end » avec le nom de l’utilisateur courant que nous pouvons récupérer avec
Enrivonment.UserName.
Si nous ne sommes pas le week-end, alors nous testons l’heure de la date courante avec
DateTime.Now.Hour. Si nous sommes le lundi matin avant 9h, alors nous continuons à afficher « Bon week-end ». Sinon, si nous sommes dans la tranche horaire 9h – 18h alors nous pouvons appeler la méthode qui affiche Bonjour. Si non, il reste juste à vérifier que nous ne sommes pas vendredi soir, qui fait partie du week-end, sinon on peut afficher le message de « Bonsoir ».
Et voilà, un bon exercice pour manipuler les conditions et les énumérations…