Може да провериш тестовете и да разбереш точно какъв е проблема
В страницата за C# Basics Март има всички варианти на минали изпити. Изтегли съответния вариант и виж тестовете за задачата, която те интересува.
Грешката ти е че когато проверяваш месеците в:
if ((!DateTime.IsLeapYear(year) && mount == 2 && day > 28)||
if ((!DateTime.IsLeapYear(year) && mount == 2 && day > 28)||
Да, прав си много благодаря
Няма проблем радвам се, че съм успял да ти помогна.
Вместо да използваш for цикли за генериране на датите и if проверката за съответните месеци е по-лесно да си генерираш начална и крайна дата от тип Datetime ddmmyyyy още при подаването на входните данни. Така и така винаги началната дата започва от 1 Януари, само годината не е известна, а крайната дата е 31 Декември, пак с неизвестна година.
При четене на входа използвам:
DateTime startDate = new DateTime(int.Parse(Console.ReadLine()), 01, 01);
DateTime endDate = new DateTime(int.Parse(Console.ReadLine()), 12, 31);
Завъртам while цикъл за проверка дали сме достигнали крайната дата:
while (startDate <= endDate)
В края на while цикъла увеличавам датата с 1 ден чрез:
startDate = startDate.AddDays(1);
Това е кодът ми: MagicDates
видях и пак нямам идея къде е грешката ползвах дебъгера и пак на разбрах