Info2P5/wochentag.c

49 lines
1.3 KiB
C

#include <stdio.h>
int main() {
// Variablen definieren
int jh_koeff[4] = {4,2,0,5};
int monat_koeff[12] = {2,5,5,2,3,6,1,4,0,2,5,0};
int tag = 0;
int monat = 0;
int jahr = 0;
int schaltjahr = 0;
printf("Geben Sie ein Datum ein tag, monat, jahr: \n"); //eingabe
scanf("%d.%d.%d.", &tag, &monat,&jahr);
int jh = jahr / 100; // die vorderen beiden Ziffern der Jahreszahl
int ja = jahr % 100; // die hinteren beiden Ziffern der Jahreszahl
// geschaut ob es ein schaltjahr ist
if(monat > 2){
schaltjahr = 0;
}
else {
if (jahr % 400 == 0) {
schaltjahr = 1;
}
else{
if(jahr % 100 == 0){
schaltjahr = 0;
}
else{
if(jahr % 4 == 0){
schaltjahr = 1;
}
else{
schaltjahr = 0;
}
}
}
}
int wochentag = (tag + monat_koeff[monat -1] - schaltjahr + jh_koeff[jh%4] + ja + ja/4) % 7; // formel um den wochentag auszurechnen
const char *tage[] = {"Sonntag", "Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"};
printf("Der %d.%d.%d war ein %s.\n",tag, monat, jahr ,tage[wochentag]); // ausgabe vom Wochentag
return 0;
}