Loading...
Gabble avatar Gabble 3 Точки

13. Holidays Between Two Dates; Broken code, HELP

Здравейте, някой може ли да помогне с откриването на грешките? Намерих единствено, че има оператор && вместо ||. Също така разбрах, че по някаква причина променливата date не се променя при преминаване през цикъла, но не знам защо. Ето го кодът: 

using System;
using System.Globalization;

class HolidaysBetweenTwoDates
{
    static void Main()
    {
        var startDate = DateTime.ParseExact(Console.ReadLine(),
            "dd.m.yyyy", CultureInfo.InvariantCulture);
        var endDate = DateTime.ParseExact(Console.ReadLine(),
            "dd.m.yyyy", CultureInfo.InvariantCulture);
        var holidaysCount = 0;
        for (var date = startDate; date <= endDate; date.AddDays(1))
            if (date.DayOfWeek == DayOfWeek.Saturday &&
                date.DayOfWeek == DayOfWeek.Sunday) holidaysCount++;
        Console.WriteLine(holidaysCount);
    }
}
0
Fundamentals Module
diljana avatar diljana 90 Точки
Best Answer

Здравей,

Форматът  "dd" трябва да се коригира на "d", защото иначе, когато въведеш едноцифрено число ти добавя 0 пред него.

Формата за месеците трябва да е  "М", а не с малка буква(което е минути). 

Във for цикъла трябва да запазиш променената дата date = date.AddDays(1), иначе не запаметява промяната.

Другата грешка ти си я оправил.

 

 

0
Gemino avatar Gemino 18 Точки

Eeee mersi brat!! :D 

0
ElviraPetkovaSvishtov avatar ElviraPetkovaSvishtov 152 Точки

Едната грешка е във форматирането на датата ->  "dd.m.yyyy" - трябва да стане "d.M.yyyy" - едно "d"за да може да приема и едноцифрени и двуцифрени дати, а голямото М-мисля че да може да приема точния месец. Втората грешка е в условието на for цикъла -> където трябва да се инкрементира променливата date, не се записва наново -> "date.AddDays(1)" - трябва да стане "date = date.AddDays(1)". Третата грешка си я видял(а). Четвъртата ако не се лъжа е да се сложат къдравите скоби на if-а, т.е. това "holidaysCount++;" да влезе в къдрави скоби. О, и да се сложат къдрави скоби на for цикъла, че не става ясно къде се принтира.

Мисля че е това. Успех :)

0
JulianJulianov avatar JulianJulianov 9 Точки

Благодаря ви колеги!

0
07/09/2019 20:54:47
Martin2489 avatar Martin2489 2 Точки

друга грешка е че в if-a е сложено && то трябва да се промени на или - ||

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.