Приветствую всех, сегодня читая книгу, увидел интересный пример задачи, в котором требовалось вычислить остаток дней до дня рождения. При запуске программы пользователь должен был ввести дату своего дня рождения. А та в свою очередь после вычислений выводила информацию о том сколько дней осталось до него. Решения данного задания не сколько, но на ум пришло только эти два. Их реализацию вам и покажу.
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 |
static void Main() { DateTime now = DateTime.Now; DateTime birthday; TimeSpan wait; Console.WriteLine("Введите дату вашего рождения в формате 'гггг, мм, дд'"); birthday = Convert.ToDateTime(Console.ReadLine()); DateTime thisYear = new DateTime(now.Year, birthday.Month, birthday.Day); if (thisYear < now) { thisYear = new DateTime(now.Year + 1, birthday.Month, birthday.Day); wait = thisYear - now; } else { wait = thisYear - now; } Console.WriteLine("До дня рождения осталось {0} дней", wait.Days); // Delay. Console.ReadKey(); } |
Но с первого взгляда сложно разобраться в примере выше, но меньше вопросов останется если вы взглянете на вариант ниже:
1 2 3 4 5 6 7 8 9 10 11 |
static void Main(string[] args) { Console.WriteLine("Введите число дня рождения"); int day = int.Parse(Console.ReadLine()); Console.WriteLine("Введите месяц дня рождения"); int month = int.Parse(Console.ReadLine()); int count = (new DateTime(DateTime.Now.Year, month, day) - DateTime.Now).Days; Console.WriteLine("До дня рождения осталось {0}", count); Console.ReadKey(); } |