C-Programm – Schaltjahr Berechnung

closeThis post was published more than three months ago. Please note that the information offered here may no longer be current and valid. Therefore, please inform yourself about this topic elsewhere. If there is any new information, you can also send me a comment. Thank you so much!

ALGORITHMUS Schaltjahr


Beschreibung:

  • das Programm soll testen, ob eine Folge von Jahren jeweills ein Schaltjahr ist
  • wenn das Jahr größer 1582 ist
  • wenn das Jahr durch 4, aber nicht durch 100 teilbar ist, handelt es sich um ein Schaltjahr
  • ist das Jahr durch 400 teilbar, handelt es sich ebenfalls um ein Schaltjahr


Daten:

  • Jahr (Startwert)
  • Jahr (Endwert)
  • Schrittweite


Kern-(Algorithmus):

Einlesen von "Startwert" + "Endwert" + "Schrittweite"
WENN "Startwert" < 1582 ODER "Startwert" >= "Endwert" ODER Schrittweite <= 0
	DANN Fehler-Meldung
ANSONSTEN
	FÜR "Startwert" BIS "Endwert"
		WENN ("Startwert" / 4 ohne Rest UND "Startwert / 100 mit Rest) ODER ("Startwert" / 400 ohne Rest)
			DANN Ausgabe: "Ja"
		ANSONSTEN
			Ausgabe: "Nein"
		ENDE WENN
	ENDE FÜR
ENDE WENN


C-Programm:

#include "stdio.h"

int main(void) {
	int jahr_startwert,jahr_endwert,schrittweite;

	printf("\n\tK a l e n d e r\n");

	printf("\nBitte den Startwert (Jahrszahl) eingeben: ");
	scanf("%d", &jahr_startwert);

	printf("Bitte den Endwert (Jahreszahl) eingeben: ");
	scanf("%d", &jahr_endwert);

	printf("Bitte die Schrittweite (Jahre) eingeben: ");
	scanf("%d", &schrittweite);

	/* Beginn des gregorianischen Kalerndes - 1582*/
	if (jahr_startwert < 1582 || jahr_startwert >= jahr_endwert || schrittweite <= 0) {
		printf("\nFalsche Angabe!");
	} else {
		printf("\nJahr | Schaltjahr?");
		printf("\n------------------");

		for (jahr_startwert; jahr_startwert <= jahr_endwert; jahr_startwert=jahr_startwert+schrittweite) {
			if ((jahr_startwert % 4 == 0) && (jahr_startwert % 100 != 0) || (jahr_startwert % 400 == 0)) {
				printf("\n%d | Ja",jahr_startwert);
			}
			else {
				printf("\n%d | Nein",jahr_startwert);
			}
		}
	printf("\n\n");
	}
	return (0);
}

Published by

voku

Lars Moelleken | Ich bin root, ich darf das!