[GELÖST]Operator % und /



  • Guten Abend... und wieder eine Frage von mir 🙄

    Ich habe folgende (ganz einfache) Übungsaufgabe gemacht:

    #include <stdio.h>
    
    main() {
    	int jahr;
    	printf("\nS C H A L T J A H R - R E C H N E R\n");
    	printf("\nBitte geben Sie eine Jahreszahl ein: ");
    	scanf("%i", &jahr);
    
    	if (jahr % 4 == 0)
    
    		if (jahr % 100 == 0)
    
    			if (jahr % 400 == 0)
    
    				printf(
    						"Das von Ihnen eingegebene Jahr '%i' ist ein Schaltjahr.",
    						jahr);
    			else
    				printf(
    						"Das von Ihnen eingegebene Jahr '%i' ist KEIN Schaltjahr.",
    						jahr);
    		else
    			printf("Das von Ihnen eingegebene Jahr '%i' ist ein Schaltjahr.",
    					jahr);
    	else
    		printf("Das von Ihnen eingegebene Jahr '%i' ist KEIN Schaltjahr.",
    				jahr);
    }
    

    Mich würde jetzt interessieren, wieso ich den "%" Operator benutzen muss anstelle von "/".

    Müsste "/" denn nicht auch funktionieren!?

    Divisionsoperator = /
    Divisionsrest = %

    Wenn ich aber z.B. "if (jahr / 4 == 0)" eingebe und mit der Zahl "4" die Aufgabe teste, erscheint "Das von Ihnen eingegebene Jahr '4' ist KEIN Schaltjahr."

    TZZZ vermutlich hätte ich beim Abi in Mathe besser aufpassen sollen 😃

    Danke schon jetzt für eure Mühe und Geduld



  • Was ist 2012 / 4? Was hilft Dir das bei der Frage, ob 2012 ein Schaltjahr ist?



  • Der Modulo-Operator % gibt dir nur den Rest der Division zurueck. Der Divisions-Operator / gibt das Resultat der Division zurueck.

    Beispiel:
    400 % 4 = 0, da 400 = 4 * 100 + 0, also Rest 0
    400 / 4 = 100 (normale Division halt)



  • Dein Code testet ein paar mal auf Teilbarkeit:

    if (a % b == 0)
    {
      // a ist durch b teilbar
    }
    

    ^^ Also: wenn a ein Vielfaches von b ist, dann ist die Bedingung erfüllt.



  • Hey Danke! Jetzt habe ich es (endlich) verstanden... Schönen Abend noch



  • SG1 schrieb:

    Was ist 2012 / 4? Was hilft Dir das bei der Frage, ob 2012 ein Schaltjahr ist?

    Naja bin gerade am Üben - der Titel mit "Schaltjahr-Recher" ist wohl dämlich gewählt...da hast du Recht 😉


Anmelden zum Antworten