Schlatjahrberechnung mit C++



  • Hallo liebe Community,
    ich habe ein kleines Problem und zwar haben wir von der Schule ein Programm geschrieben das berechnet ob ein Jahr ein schaltjahr ist oder nicht, leider verstehe ich das nicht so ganz.
    Und zwar bei dem ersten if heißt es ja z.B. "jahr %4 ==0" aber ich verstehe nicht genau was das bedeutet. Heißt das nun das das Jahr ein Schaltjahr ist wenn es durch 4 teibar ist und 0 rauskommt? oder wenn es durch 4 Teilbar ist und der Wert 0 also False ist?
    Hier ist der komplette Code, ich würde mich sehr freuen wenn mir jemand die "if-Zeile" erklären könnte.

    #include <iostream>
    using namespace std;
    
    int main()
    {
        int jahr;
    
        cout << "Bitte Jahreszahl eingeben";
        cin >> jahr;
    
        if ((jahr%400==0 || ((jahr %4 == 0) && (jahr % 100 != 0))))
        {
                         cout << "Schaltjahr" << endl;
        }
        else
        {
            cout << "Kein Schaltjahr" << endl;
        }
    
        system("pause");
        return 0;
    }
    

    Edit: tut mir leid wenn ich hier im falschen Berreich bin.



  • Der Modulo Operator % liefert den Rest einer Ganzzahldivision. z.B.: 17 % 3 liefert 2, weil 3 ist in 17 fünfmal enthalten und 2 bleibt Rest. Und jetzt musst du dir nur noch überlegen, was es bedeutet, wenn der Rest 0 ist... 😉



  • dot schrieb:

    Der Modulo Operator % liefert den Rest einer Ganzzahldivision. z.B.: 17 % 3 liefert 2, weil 3 ist in 17 fünfmal enthalten und 2 bleibt Rest. Und jetzt musst du dir nur noch überlegen, was es bedeutet, wenn der Rest 0 ist... 😉

    Dankeschön 🙂
    Jetzt stellt sich mir nur noch eine Frage.
    Dieser Teil bedeutet dann doch das es ein Schaltjahr ist wenn ein "Rest" also eine Kommazahl dabei rauskommt oder?
    (jahr % 100 != 0)

    da != ja ungleich 0 heißt also z.B. 5 etc. oder verstehe ich da schon wieder etwas falsch?



  • HerrJeh schrieb:

    Dieser Teil bedeutet dann doch das es ein Schaltjahr ist wenn ein "Rest" also eine Kommazahl dabei rauskommt oder?

    (jahr % 100 != 0)

    da != ja ungleich 0 heißt also z.B. 5 etc. oder verstehe ich da schon wieder etwas falsch?

    richtig

    Jedes vierte Jahr ist ein Schaltjahr, außer wenn es durch hundert teilbar ist, wobei jedes vierhunderte Jahr immer ein Schaltjahr ist...



  • dot schrieb:

    HerrJeh schrieb:

    Dieser Teil bedeutet dann doch das es ein Schaltjahr ist wenn ein "Rest" also eine Kommazahl dabei rauskommt oder?

    (jahr % 100 != 0)

    da != ja ungleich 0 heißt also z.B. 5 etc. oder verstehe ich da schon wieder etwas falsch?

    richtig

    Jedes vierte Jahr ist ein Schaltjahr, außer wenn es durch hundert teilbar ist, wobei jedes vierhunderte Jahr immer ein Schaltjahr ist...

    danke du hast mir sehr geholfen.


Anmelden zum Antworten