using System.Globalization;
static void Main(string[] args)
CultureInfo culture = new CultureInfo("fr-FR");
CultureInfo.CurrentCulture = culture;
Console.WriteLine("Bienvenue dans la recherche des Vendredis 13!");
Console.WriteLine("Ce programme vous permettra de découvrir tous les vendredis 13 d'une année donnée.");
int year = ObtenirAnnee();
RechercheVendredis13(year);
static void AfficherMessage(string message)
Console.WriteLine(message);
static int ObtenirAnnee()
Console.Write("Entrez l'année (ex : 2025 ou 9999) : ");
if (int.TryParse(Console.ReadLine(), out year) && year >= 0 && year <= 9999)
AfficherMessage("Veuillez entrer une année valide entre 0 et 9999.");
static void RechercheVendredis13(int year)
AfficherMessage($"Attention : L'année {year} dépasse les limites du calendrier grégorien supporté. Les calculs peuvent être approximatifs ou non pris en charge.");
AfficherMessage($"\nRecherche des Vendredis 13 pour l'année {year}...\n");
bool foundFriday13 = false;
for (int month = 1; month <= 12; month++)
date = new DateTime(year, month, 13);
catch (ArgumentOutOfRangeException)
AfficherMessage($"L'année {year} est trop grande pour être calculée avec le calendrier grégorien.");
if (date.DayOfWeek == DayOfWeek.Friday)
Console.WriteLine($"Vendredi 13 trouvé en {date.ToString("MMMM yyyy")}");
AfficherMessage("Il n'y a pas de vendredi 13 cette année.");
static void DemanderRecommencer()
AfficherMessage("Souhaitez-vous chercher une autre année ? (O/N)");
string retry = Console.ReadLine().ToUpper();
AfficherMessage("\nMerci d'avoir utilisé notre outil de recherche des vendredis 13 !");
Console.WriteLine("\nAppuyez sur une touche pour quitter.");