Frage zur Berechnung eines Schaltjahres
-
Hi,
lerne grade C++ und habe da folgenden Code
bool istSchaltjahr(int jahr) { if(jahr%400==0) return true; else if(jahr%100==0) return false; else if(jahr%4==0) return true; else return false; };Ein Schaltjahr ist ja immer wenn das Jahr durch 4 oder 400 teilbar ist aber nicht durch 100. So nun habe ich diese Funktion oben gefunden. Nur ich habe dazu noch ein paar Frgen. Bool ist doch eine Variable die entweder nur Ja oder Nein liefert richtig? Dann was bedeutet (jahr%400==0) ? Ich hätte es so gemacht (jahr/400) nur was bedeutet das % wert == 0 ?
-
% ist der "modulo" Operator und prüft ob nach dem Teilen ein Rest bleibt.
Gibt es einen Rest, ist das Ergebnis der Berechnung true, andernfalls false.
if(jahr%400==0 )
bedeutet demnach "Wenn jahr glatt teilbar durch 400"dass jedes Jahr durch 400 teilbar ist (mit Rest) weißte ja so
deswegen % statt /MfG
Oklino
-
das % ist der modulo operator!
das (Jahr%400)==0 bedeutet, wenn das Jahr durch 400 ohne rest teilbar ist!
9%4 wäre 1 (weil 9/4 = 2 Rest 1)
Modulo gibt den rest der ganzzahlteilung anbool gibt true oder false zurück
-
ich dachte in C++ und javascript würde modulo nur true oder false (also nicht die höhe des Restes)zurück geben... hmmm oder wars gerade da andersrum...
naja aber das Thema dürfte verstanden worden sein 
-
% gibt den rest der ganzzahlteilung an!
17%9 gibt 8
-
Ein Modulo-Operator liefert IMMER den Rest der Ganzzahldivision, sonst wäre es kein Modulo-Operator (vielleichts gibts in JavaScript ja einen "teilbar-Operator"? :D)
-
LordJaxom schrieb:
(vielleichts gibts in JavaScript ja einen "teilbar-Operator"? :D)
lol
den werde ich für c++ schreiben!
eine teilbarkeits?-klasse