Diskuze: technická

C# .NET .NET (C# a Visual Basic) technická American English version English version

Avatar
Зайчик
Člen
Avatar
Зайчик:

hoj udělal jsem si menší funkci na vypočítání kolik mi je let ale nějak to nefunguje jako vše jde až na to že když je měsíc menší než měsíc narození tak to do podmínky vůbec nevleze a já vůbec nechápu proč...

public void y(out int age, int day, int month, int year)
        {
            age = 18;
            if (DateTime.Now.Month > month)
                age = DateTime.Now.Year - year;
            else if (DateTime.Now.Month == month)
            {
                if (DateTime.Now.Day >= day)
                    age = DateTime.Now.Year - year;
                else if (DateTime.Now.Day < day)
                    age = DateTime.Now.Year - year - 1;
            }
            else if (DateTime.Now.Month < month)
                age = DateTime.Now.Year - year - 1; // sem to vubec nevleze
        }

a když volám

neco.y(out age, 16,3,1994);

Tak mi vyjde 19 i když by mělo 18 vůbec nevím proč :D nevidí tam někdo chybku? Díky

Odpovědět 30.1.2013 19:21
Коммунизм для нашего будущего!
Avatar
Зайчик
Člen
Avatar
Зайчик:

pak jsem to zkusil ještě takhle

public void Age(DateTime birthday, out int age)
        {
            age = 18;
            DateTime now = DateTime.Today;
            age = now.Year - birthday.Year;
            if (now < birthday.AddYears(age)) age--;
        }

volám

y.Age(DateTime.Parse("16.03.1994"), out age);

ale age je pořád 19 :(

Nahoru Odpovědět 30.1.2013 19:34
Коммунизм для нашего будущего!
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Зайчик
Petr Nymsa:

No mě vychází 18, nemáš v PC nastavený špatně čas ?

Nahoru Odpovědět 30.1.2013 19:35
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Зайчик
Člen
Avatar
Odpovídá na Petr Nymsa
Зайчик:

nn vše bylo ok akorát mi ve visual studio nějak nefunguje debug... přepunul jsem na release a v pohodě všechno funguje :/ ale debug vůbec nic nedělá akorát mi spustí to co jsem kompiloval asi před 15ti minutama a teď vůbec nic nedělá ;( nevíš co s tím? :D

Nahoru Odpovědět 30.1.2013 19:42
Коммунизм для нашего будущего!
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Зайчик
Petr Nymsa:

Dneska se mi VS taky choval divně, release mi zapl aplikace, debug ani nezapl a zeskl celý pc, takže zkus resetovat mašinu. Nic jinýho mě nenapadá

Nahoru Odpovědět 30.1.2013 19:47
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Зайчик
Člen
Avatar
Odpovídá na Petr Nymsa
Зайчик:

je to divný no :D teď musím ještě něco dodělat tak to přežiju xD a snad po restartu to bude ok :) dík za čas

Nahoru Odpovědět 30.1.2013 19:59
Коммунизм для нашего будущего!
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Зайчик
Petr Nymsa:

Občas dokáže to VS celkem překvapit :)

Nahoru Odpovědět 30.1.2013 20:10
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.