Дни оставшиеся до нового года. Непонятная ошибка - C#
Формулировка задачи:
Привет , есть вот такая задача.
Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года.
Пример:
Введите номер месяца:
12
Введите день:
25
До Нового года осталось 6 дней.
Вот что у меня получилось
Но почему-то выводит ошибку , что n не присвоено значение. Как это исправить ? Если if (m == 1) { n = k - d; } и тд . Присваивается значение. Пробовал n = 0 . То программа всегда выводит , что "До Нового года осталось дней: 0"
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _95_2 { class Program { static void Main(string[] args) { int k, n , f; Console.WriteLine("Введите текущий год"); int m = int.Parse(Console.ReadLine()); Console.WriteLine("Введите текущий месяц"); int d = int.Parse(Console.ReadLine()); Console.WriteLine("Введите текущий число"); int y = int.Parse(Console.ReadLine()); if ((y % 4 == 0 & y % 100 != 0) || (y % 400 == 0)) { k = 366; f = 29; } else { k = 365; f = 28; } if (m == 1) { n = k - d; } if (m == 2) { n = k - 31 - d; } if (m == 3) { n = k - 31 - f - d; } if (m == 4) { n = k - 31 - f - 31 - d; } if (m == 5) { n = k - 31 - f - 31 - 30 - d; } if (m == 6) { n = k - 31 - f - 31 - 30 - 31 - d; } if (m == 7) { n = k - 31 - f - 31 - 30 - 31 - 30 - d; } if (m == 8) { n = k - 31 - f - 31 - 30 - 31 - 30 - 31 - d; } if (m == 9) { n = k - 31 - f - 31 - 30 - 31 - 30 - 31 - 31 - d; } if (m == 10) { n = k - 31 - f - 31 - 30 - 31 - 30 - 31 - 31 - 30 - d; } if (m == 11) { n = k - 31 - f - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31 - d; } if (m == 12) { n = k - 31 - f - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31 - 30 - d; } if (m < 1 || m > 12) { Console.WriteLine("Неверно введен номер текущего месяца!"); } if (d < 1 || d > 31) { Console.WriteLine("Неверно введено текущее число!"); } Console.WriteLine("До Нового года осталось дней: " + n); Console.ReadKey(); } } }
Решение задачи: «Дни оставшиеся до нового года. Непонятная ошибка»
textual
Листинг программы
Console.WriteLine("Введите текущий год"); int m = int.Parse(Console.ReadLine()); Console.WriteLine("Введите текущий месяц"); int d = int.Parse(Console.ReadLine()); Console.WriteLine("Введите текущий число"); int y = int.Parse(Console.ReadLine());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д