Дни оставшиеся до нового года. Непонятная ошибка - 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());