Entwickler-Ecke
C# - Die Sprache - If-Anweisung funktioniert nicht
Stratego - Fr 01.07.11 18:22
Titel: If-Anweisung funktioniert nicht
Hallo bei diesem Code funktioniert irgendwas nicht, es ist zwar nichts falsch aber bei der Ausgabe macht der das nicht nur wenn Jahrc 0 ist, zwar nur bei Monthtry 1, 2 aber Jahrc ignoriert er dabei wo ist das problem?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| int Jahrc = Jahrb % 4;
if (Monthtry == (1 | 2) && Jahrc == 0 ); { Month = Month - 1;
} |
Moderiert von
Christian S.: C#-Tags hinzugefügt
jaenicke - Fr 01.07.11 18:43
Das Zeichen | ist eine bitweise Verknüpfung...
Du kannst nicht fragen "gleich das oder das", da wird das oder als oder zuerst ausgewertet.
Schreib einmal aus was du möchtest und klammere alles, dann klappt das auch.
Stratego - Fr 01.07.11 19:05
wie meinst du das mit "ausschreiben" ich verstehe es leider immer noch nicht...
jaenicke - Fr 01.07.11 19:08
C#-Quelltext
1: 2:
| if (((Monthtry == 1) || (Monthtry == 2)) && (Jahrc == 0)) Month -= 1; |
Stratego - Fr 01.07.11 20:32
Vielen dank Jetzt gehts richtig
jaenicke - Fr 01.07.11 20:36
Dass es nicht reicht zu prüfen, ob das Jahr durch 4 teilbar ist, wenn du wissen willst, ob es sich um ein Schaltjahr handelt, ist dir aber klar, oder? ;-)
Stratego - Fr 01.07.11 23:00
Wieso wenn 0 rauskommt und ich die ausnahmen 17 ,18,19 jahrhundert mitnehme. Außerdem ist das ja nur in den ersten beiden Monaten...
jaenicke - Sa 02.07.11 07:05
Wozu Ausnahmen? ;-)
C#-Quelltext
1: 2:
| if (((Jahrb % 4) == 0) && (!((Jahrb % 100) == 0) || ((Jahrb % 400) == 0))) |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!